Electronic text manipulation and display

ABSTRACT

Information is presented to a user by accessing a library of electronic publications that includes a first publication, generating a representation of the first publication in an electronic bookshelf, determining a state for the first publication and modifying the representation of the first publication to reflect the state of the first publication.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S.application Ser. No. 13/521,414, filed Aug. 14, 2012, which claimspriority under 35 U.S.C. §371 to International Application No.PCT/US2011/020874, having an International Filing Date of Jan. 11, 2011,which claims priority to U.S. Provisional Application No. 61/294,106,filed Jan. 11, 2010, U.S. Provisional Application No. 61/298,539, filedJan. 26, 2010, U.S. Provisional Application No. 61/298,889, filed Jan.27, 2010, and U.S. Application No. 61/320,678, filed Apr. 2, 2010. Theseapplications are all entitled, “Electronic Text Manipulation andDisplay,” and are incorporated by reference.

BACKGROUND

This disclosure relates to displaying and facilitating the manipulationof electronic text, for example, the text of an electronic book(“eBook”) being read on an electronic device. Much like an ordinaryprinted book, electronic books (“eBooks”) can be used to present textand pictures to readers. Instead of ink and paper, however, anelectronic book is a collection of digital data that software, known asan electronic book reader application, can interpret and present on adisplay. A variety of devices run electronic book reader software suchas desktop and notebook computers, eBook readers, smart phones and/orother mobile devices. One available format for eBooks is defined by the“ePub” standard, which is maintained by The International DigitalPublishing Forum (IDPF).

SUMMARY

In one general sense, information is presented to a user by accessing alibrary of electronic publications that includes a first publication,generating a representation of the first publication in an electronicbookshelf, determining a state for the first publication, and modifyingthe representation of the first publication to reflect the state of thefirst publication.

Implementations may include one or more of the following features. Forexample, generating the representation may include presenting arecently-purchased book using a front cover view or presenting arecently-accessed book using a front cover view. It may be determinedthat the first publication has not been recently accessed and therepresentation may be modified so that a binding view of the firstpublication is presented instead of a front cover view of the firstpublication. Modifying the representation of the first publicationincludes presenting a layer of dust over the first publication.Presenting the layer of dust may include presenting an animated dustcloud in response to receiving a user instruction to access the firstpublication.

In another general sense, information is presented to a user byaccessing a library of electronic publications that includes a firstpublication, generating a representation of the first publication in anelectronic bookshelf, determining a state for the first publicationrelative to other publications in the electronic bookshelf, determiningan organization of the electronic bookshelf based on the state of thefirst publication relative to a state of other publications within thelibrary, and presenting the first publication in the electronicbookshelf to reflect the organization of the electronic bookshelf.

Implementations may include one or more of the following features. Forexample, determining the state may include determining a date ofpurchase, a date of release or a date of access. Determining anorganization may include generating an ordered list that sorts thelibrary according to a purchase criterion. Determining an organizationmay include generating an ordered list that sorts the library accordingto a release date criteria. Determining an organization may includegenerating an ordered list that sorts the library according to accessdate criteria.

Presenting the first publication in the electronic bookshelf to reflectthe organization of the electronic bookshelf may include presentingunread books in a prioritized shelf within the electronic bookshelf.Presenting the unread books in the prioritized shelf includes presentingthe unread books in a top shelf. Presenting the unread books in theprioritized shelf may include presenting the unread books in a leftmostportion of a shelf. Presenting the first publication in the electronicbookshelf to reflect the organization of the electronic bookshelf mayinclude presenting newly-purchased books in a prioritized shelf withinthe electronic bookshelf.

A user may be enabled to customize the placement the first publicationafter being presented with the organization of the electronic bookshelf.Presenting the first publication in the electronic bookshelf to reflectthe organization of the electronic bookshelf may include presentingrecently-accessed books in a prioritized shelf within the electronicbookshelf.

In yet another sense, information is presented to a user by accessing alibrary of electronic publications that includes a first publication,determining a state for the first publication, and generating arepresentation of the first publication in an electronic bookshelf thatreflects the state of the first publication.

Implementations may include one or more of the following features. Forexample, generating the representation may include generating a magazineicon in response to determining that the first publication is amagazine. Generating the representation may include generating anewspaper icon in response to determining that the first publication isa newspaper. Generating the representation may include generating alabel over the representation indicating the state of the firstpublication. Generating the label may include generating a labelindicating that the first publication has not yet been accessed.

Generating the label may include generating a label indicating that thefirst publication is newly purchased. Generating the label may includegenerating a label indicating that the first publication is beingdownloaded. Determining the state for the first publication may includedetermining a location for a first device, determining that contentappearing in the electronic bookshelf is associated with the location,and presenting the content to the user indicating that the content isrelevant to the location.

Presenting the content may include a presenting a ribbon to indicate arelevance of the content. Presenting the content may include placing thecontent using a specified bookshelf location to indicate a relevance ofthe content.

In yet another sense, information is presented to a user by accessing alibrary of electronic publications, generating a representation of thefirst publication in an electronic bookshelf in a bookshelf view thatindicates electronic publications that are owned by a user, enabling theuser to switch between a bookstore view and the bookshelf view,receiving an instruction from the user to switch from the bookshelf viewto the bookstore view, and generating, in response to receiving theinstruction from the user to switch from the bookshelf view to thebookstore view, a display of an animated transition of a revolvingbookshelf that originally presents the bookshelf view and concludes theanimated transition by displaying the bookstore view.

Implementations may include one or more of the following features. Forexample, a user may be enabled to select a representation of anadvertised electronic publication appearing within the bookstore view.The representation of the advertised electronic publication appearingwithin the bookstore view may be modified forward along a z-axis arisingfrom an electronic reader and from the bookstore view to a user so as topresent the advertised electronic publication as floating in front ofthe bookstore view. While preserving the advertised electronicpublication as floating in front of the revolving bookshelf, an animatedtransition of the revolving bookshelf that originates with the bookstoreview and concludes the animated transition by displaying the bookshelfview may be generated and the representation of the advertisedelectronic publication appearing within the bookstore view is modifiedforward from the bookstore view to the user so as to present theadvertised electronic publication as transitioning from a floating viewinto the bookshelf view of the electronic bookshelf.

In still another sense, information is presented to a user by enabling auser to download an electronic publication in a promotionalconfiguration, enabling the user to navigate through the electronicpublication with a relative indicator identifying a portion of theelectronic publication being accessed by the user, enabling the user topurchase a full version of the electronic publication, downloading, as aresult of a purchase, the full version of the electronic publication,and preserving the relative indicator so that subsequent user access tothe electronic publication enables the user to access the portion of theelectronic publication associated with the relative indicator.

Implementations may include one or more of the following features. Forexample, a bookmark control may be presented within the electronicpublication in the promotional configuration. Using the electronicbookmark control within the electronic publication, a user instructionto set an electronic bookmark may be received and, in response toreceiving the user instruction, the electronic bookmark is set to returnto a place associated with a relative indicator at a time of receivingthe user instruction. During the purchase of the full version of theelectronic publication, the electronic bookmark is preserved.

Presenting the electronic bookmark control may include presenting theelectronic bookmark control in association with a reading historyindicating which portion of the electronic publication has beenaccessed. Presenting the electronic bookmark control may includepresenting the electronic bookmark control in association with aprogress bar that indicates which portions of the electronic publicationhave been read relative to those portions of the electronic publicationthat have not been read.

In yet another sense, information is presented to a user by enabling auser to purchase an electronic publication using an electronicbookstore, enabling the user to download the electronic publication to afirst device, recording a user purchase of the electronic publication,receiving an indication that the user has a second device, and enablingthe user to transmit the electronic publication to the second device.

Implementations may include one or more of the following features. Forexample, enabling the user to purchase the electronic publication usingthe electronic bookstore may include enabling the user to purchase theelectronic publication within an electronic bookstore application withinthe first device. Recording the user purchase of the electronicpublication may include recording the user purchase for a user accounton a history server. A history of purchases may be displayed to theuser. Displaying the history of purchases may include presenting a menufor each entry in the history of purchases enabling the user to performadditional actions for an already-purchased publication. Enabling theuser to perform additional actions may include enabling the user totransmit the electronic publication to the second device. Receiving theindication that the user has the second device may include receiving aninstruction from a registration server that the user has registered asecond device for a user account.

Enabling the user to transmit the electronic publication to the seconddevice may include generating a representation of the second devicewithin the electronic bookstore and configuring the representation ofthe second device to trigger transmission of the electronic publicationto the second device in response to receiving user selection of therepresentation of the second device.

Enabling the user to transmit the electronic publication to the seconddevice may include enabling the user to transmit the electronicpublication without a requiring the user to purchase the electronicpublication for the second device. Enabling the user to transmit theelectronic publication to the second device may include enabling theuser to transmit the electronic publication in response to receiving auser instruction to purchase a distribution fee to distribute an alreadypurchased publication to the second device. Transmitting the electronicpublication to the second device may include formatting the electronicpublication from a first format for the first device to a second formatfor the second device.

In still another sense, information is presented to a user bypresenting, within an electronic book reader application on anelectronic device, a representation of an electronic book with anindication of left side pages and an indication of right side pages,enabling the user to navigate through the electronic publication with arelative indicator identifying a portion of the electronic publicationbeing accessed by the user, and modifying, using the relative indicator,the indication of the left side pages and the indication of right sidepages to reflect a relative height of left side pages and right sidepages.

Implementations may include one or more of the following features. Forexample, a representation of a binding that displays the indication ofthe left side pages and the indication of right side pages may bepresented. Modifying the indication of left side pages may includepresenting the indication of left side pages on a granular basis wherethe relative height reflects a is based upon a mathematic proportion ofpages that have been read relative to an overall number of pages in theelectronic book. Modifying the indication of left side pages may includepresenting the indication of left side pages in one of several discreteheights where the one discrete height is used for a range of pages.

In yet another sense, information is presented to a user by presenting,within an electronic book reader application on an electronic device, arepresentation of an electronic book that may include an electronicrepresentation of a paper page, enabling a user to interact with thepage through a touch screen control to navigate through the electronicbook, recording, on the electronic device, physical characteristics ofthe user interaction with the touch screen control to navigate throughthe electronic book, identifying, based on the physical characteristicsof the user interaction, a modeled impact on the electronicrepresentation of a paper page, and generating an animated transitionreflecting a page turning of the electronic representation of a paperpage that reflects the modeled impact.

Implementations may include one or more of the following features. Forexample, identifying the modeled impact reflects a location within theelectronic representation of the paper page where the user touched theelectronic representation of a paper page. Identifying the modeledimpact reflects a velocity at which the user swiped the electronicrepresentation of the paper page to turn the page. Identifying themodeled impact reflects an acceleration at which the user swiped theelectronic representation of the paper page to turn the page.Identifying the modeled impact reflects a direction at which the userswiped the electronic representation of the paper page to turn the page.Identifying the modeled impact reflects a user tilting the electronicdevice to turn the page. Identifying the modeled impact reflects anacceleration applied in tilting the electronic device to turn the page.

Identifying the modeled impact reflects an angle applied by a user totilt the electronic device to turn the page. Identifying the modeledimpact reflects differences in an orientation of the electronic deviceapplied by a user to tilt the electronic device to turn the page.Identifying the modeled impact reflects whether the orientation of theelectronic device has been changed by more than a threshold amount.

In still another sense, a user is enabled to access an electronicbookstore by presenting, within an electronic book reader application onan electronic device, a representation of an electronic book that mayinclude an electronic representation of a paper page, presenting, withinthe electronic book reader application, a control to access anelectronic bookstore, enabling the user to interact with the control toaccess the electronic bookstore, receiving, through user interactionwith the control, a user instruction to access the electronic bookstore,determining that a wireless communications interface on the electronicdevice is not active, activating the wireless communications interface,and presenting, using the wireless communications interface, materialsfrom the electronic bookstore.

Implementations may include one or more of the following features. Forexample, presenting, using the wireless communications interface,materials from the electronic bookstore may include presenting a networkUniform Resources Locator (URL) for the electronic bookstore. Presentingthe control to access the electronic bookstore may include presenting acontrol embedded within the electronic representation of a paper page.Presenting the control embedded within the electronic representation ofthe paper page may include presenting the control within an end of bookpage. Presenting the control to access the electronic bookstore mayinclude presenting a control peripheral to the electronic representationof a paper page.

In yet another sense, information is presented to a user by presenting,within an electronic book reader application on an electronic device, arepresentation of an electronic book that may include an electronicrepresentation of a paper page, enabling a user to interact with thepage through a touch screen control to navigate through the electronicbook, detecting that a user has touched a portion of the electronicrepresentation of the paper page, detecting that the user intended tohold the touched portion, and presenting, in response to detecting thatthe user intended to hold the touched portion, a menu of commandsrelated to the touched portion of the electronic representation of apaper page.

Implementations may include one or more of the following features. Forexample, detecting that the user intended to hold the touched portionmay include detecting that the user has touched the portion of theelectronic representation of the page for more than a threshold periodof time. Detecting that the user intended to hold the touched portionmay include detecting that an area of the touched portion has expandedafter a threshold period of time has elapsed indicated that a user hasapplied increased pressure. Detecting that the user intended to hold thetouched portion may include detecting that the electronic device hasbeen lowered.

Content related to the touched portion may be identified. The identifiedcontent is used to identify commands for incorporation within the menuof commands and the identified commands are presented within the menu ofcommands. Content related to the touched portion may be identified. Theidentified content to identify applications is used for incorporationwithin the menu of commands and the identified applications arepresented within the menu of commands. Using the identified content toidentify applications may include identifying additional electronicpublications available in an electronic bookstore related to the contentappearing in the touched portion. Using the identified content toidentify applications may include identifying a dictionary orencyclopedia entry related to the content appearing in the touchedportion. Using the identified content to identify applications mayinclude identifying applications related to the content appearing in thetouched portion.

In still another sense, information is presented to a user bypresenting, within an electronic book reader application on anelectronic device, a representation of an electronic book that mayinclude an electronic representation of a paper page, enabling a user tointeract with an accelerometer for the electronic device by controllingan orientation of the electronic device, capturing, using theaccelerometer for the electronic device, user manipulation of theelectronic device, identifying, based on the user manipulation of theelectronic device, a command for the electronic book, and performing thecommand on the electronic book.

Implementations may include one or more of the following features. Forexample, capturing the user manipulation and identifying the command mayinclude detecting that the electronic device has been tilted less than athreshold degree. In response to detecting that the electronic devicehas been tilted less than the threshold degree, an excerpt of a nextpage in the electronic book is presented. Capturing the usermanipulation and identifying the command may include detecting that theelectronic device has been shaken and presenting, in response todetecting that the electronic device has been shaken, that theelectronic book has been returned to an electronic bookshelf Capturingthe user manipulation and identifying the command may include detectingthat the electronic device has been manipulated in a first manner andpresenting, in response to detecting that the electronic device has beenmanipulated in the first manner, that a cover of the electronic book hasbeen closed.

Detecting that the electronic device has been manipulated in the firstmanner may include determining that the electronic device has beenflipped towards the user. Capturing the user manipulation andidentifying the command may include detecting that the electronic devicehas been manipulated in a second manner and presenting, in response todetecting that the electronic device has been manipulated in the secondmanner, a designated of a portion electronic book.

Detecting that the electronic device has been manipulated in the secondmanner may include determining that the electronic device has beentilted twice in a first direction to retrieve a table of contents.Detecting that the electronic device has been manipulated in the secondmanner may include determining that the electronic device has beentilted twice in a second direction to retrieve an index. Detecting thatthe electronic device has been manipulated in the second manner mayinclude determining that a representation of a binding in the displayhas been pinched to close an electronic book. Capturing the usermanipulation and identifying the command may include detecting that theelectronic device has been set on a surface and presenting, in responseto detecting that the electronic device has been has been set on asurface, a screen saver for the electronic book. Presenting, the screensaver for the electronic book may include presenting an electronicrepresentation of the paper page flapping in a breeze.

In yet another sense, a user is enabled to interface with an electronicpublication by presenting, within an electronic book reader applicationon an electronic device, a representation of an electronic book that mayinclude an electronic representation of a paper page, enabling a firstuser to interact with a touch screen controller for the electronicdevice, capturing user manipulation of the touch screen controller,identifying, based on the user manipulation of the touch screencontroller, a command for interfacing with a second user through theelectronic book, and performing the command for the electronic book.

Implementations may include one or more of the following features. Forexample, identifying the command may include identifying a transmissioncommand that transits the electronic page to the second user.Identifying the command may include identifying a transmission commandthat transits the electronic book to the second user. Identifying thecommand may include identifying a throwing gesture to establish acommunications interface with the second user. Identifying the commandfor interfacing with the second user may include establishing a commandto establish a communications interface with the second user through awireless Local Area Network interface. Identifying the command forinterfacing with the second user may include establishing a command toestablish a communications interface with the second user through awireless telecommunications interface. Identifying the command forinterfacing with the second user may include establishing a command toestablish a communications interface with the second user through ashort range wireless interface.

In still another sense, a user is enabled to interface with anelectronic publication by presenting, within an electronic book readerapplication on an electronic device, a representation of an electronicbook that may include an electronic representation of a paper page,enabling a first user to interact with a touch screen controller for theelectronic device, capturing, user manipulation of the touch screencontroller, identifying, based on the user manipulation of the touchscreen controller, a command to interface with an electronic bookshelf,and performing the command for the electronic book.

Implementations may include one or more of the following features. Forexample, identifying the command to interface with the electronicbookshelf may include receiving a command to advance to a next selectionin the electronic bookshelf without displaying the electronic bookshelf.Receiving the command to advance to the next selection in the electronicbookshelf may include detecting that three fingers have touched theelectronic device, and detecting that the three fingers have swiped thetouch screen controller.

In yet another sense, information is presented to a user by presenting,within an electronic book reader application on an electronic device, arepresentation of an electronic book that may include an electronicrepresentation of a paper page in a first orientation, presenting afirst portion of the electronic book in the first orientation, enablinga user to manipulate an orientation of the electronic device from afirst orientation to a second orientation, determining whether topreserve a font size, identifying, based on the first portion and inresponse to determining to preserve the font size, a second portion thatwill be displayed in the second orientation, and displaying, in thesecond orientation, the second portion.

Implementations may include one or more of the following features. Forexample, enabling the user to manipulate the orientation of theelectronic device from the first orientation to the second orientationmay include enabling the user to switch from a landscape orientation toa portrait orientation. Identifying the second portion may includeidentifying content for removal from the first portion in order torender the second portion. Enabling the user to manipulate theorientation of the electronic device from the first orientation to thesecond orientation may include enabling the user to switch from aportrait orientation to a landscape orientation that displays two pages.Identifying the second portion may include identifying additionalcontent to supplement the first portion in order to render the secondportion.

In still another sense, information may be presented to a user bypresenting, within an electronic book reader application on anelectronic device, a representation of an electronic book that mayinclude an electronic representation of a paper page in a firstorientation, presenting a first portion of the electronic book in thefirst orientation, enabling a user to manipulate an orientation of theelectronic device from a first orientation to a second orientation,determining whether to preserve a font size, identifying, based on thefirst portion and in response to determining to not preserve the fontsize, a second portion that will be displayed in the second orientation,and displaying, in the second orientation, the second portion.

Implementations may include one or more of the following features. Forexample, enabling the user to manipulate the orientation of theelectronic device from the first orientation to the second orientationmay include enabling the user to switch from a landscape orientation toa portrait orientation. Identifying the second portion may includeidentifying a font size to be used to render the second portion.Enabling the user to manipulate the orientation of the electronic devicefrom the first orientation to the second orientation may includeenabling the user to switch from a portrait orientation to a landscapeorientation that displays two pages. Identifying the second portion mayinclude identifying a font size to be used to render the second portion.

DESCRIPTION OF DRAWINGS

FIG. 1 illustrates different types of electronic devices that areconfigured to access, via a network, items of digital media residing ona computer system controlled by a content provider.

FIGS. 2A and 2B illustrate how eBook reader devices may be configured topresent materials in more than one orientation.

FIGS. 3A-3D illustrate how an eBook reader device may be configured topresent either a first reduced-size representation or a secondreduced-size representation based on determining whether the firstreduced-size representation or the second reduced-size representationprovides a better end-user experience.

FIG. 4 illustrates how a first reduced-size representation or a secondreduced-size representation is displayed based on available displayspace relative to a size of the underling object.

FIG. 5 depicts an electronic device that can be used to for eBookapplications.

FIGS. 6A and 6B depict an exemplary architecture of an electronic clientdevice that can be used to for eBook applications.

FIGS. 7A and 7B illustrate an electronic client device that uses abookshelf metaphor to indicate to a user of the device which eBooks(and/or other items of digital media) are available to the user.

FIGS. 8A-8C illustrate exemplary configurations for scrubbing bars.

FIG. 9 illustrates a portable multifunction device having a touch screenin accordance with some embodiments.

FIGS. 10A-10C illustrate exemplary user interfaces for a menu ofapplications on a portable multifunction device in accordance with someembodiments.

FIG. 11 illustrates an example of a highlighting and book-markingfeature that optionally may be included as a feature of an eBook readerapplication.

FIG. 12 shows an example of an eBook reader application displaying anopen eBook as the user is flipping from one page to the next.

FIG. 13 shows an example of a search feature that may be implemented byan eBook reader application.

FIGS. 14-28 include flow charts of various processes used to presentinformation to a user.

OVERVIEW

This disclosure relates to displaying and facilitating the manipulationof electronic text, for example, the text of an electronic book(“eBook”) being read on an electronic device. Much like an ordinaryprinted book, electronic books (“eBooks”) can be used to present textand pictures to readers. Instead of ink and paper, however, anelectronic book is a collection of digital data that software, known asan electronic book reader application, can interpret and present on adisplay. A variety of devices run electronic book reader software suchas desktop and notebook computers, eBook readers, smart phones and/orother mobile devices. One available format for eBooks is defined by the“ePub” standard, which is maintained by The International DigitalPublishing Forum (IDPF).

In addition, the growth of mobile platforms has created a rich andvibrant market for viewing various types of documents on mobile devices.For example, a variety of electronic books may be read on platforms thatinclude mobile phones, dedicated eBook reader devices, andtablet-oriented computing devices. However, given the potential to spendcountless time on these platforms, for example, to read an electronicbook, various adjustments may be made to improving the user experienceby configuring the eBook reader device to render content in a mannerresponsive to a user's needs.

Although the purchase, usage and popularity of eBooks is increasing, itis recognized that a certain segment of the book reading populationmight be hesitant to give up their paper & ink publications and adapt tothe world of eBooks. Consequently, an eBook may be configured to providea reading experience that is feature and/or content enriched,user-friendlier and/or otherwise enhanced. For example, some aspects ofthe subject matter described here are directed at making the eBookexperience more closely resemble aspects of the paper & ink book-readingexperience that readers enjoy and may be hesitant to give up. At thesame time, the disclosed subject matter may enhance the eBook readingexperience even for current users and enthusiasts of conventional eBooktechnology.

In general, an aspect of the subject matter described here is that aneBook environment may be implemented to emulate, at least in part, abricks & mortar bookstore that sells conventional paper & ink hardcoverbooks, potentially along with other types of publications (e.g.,magazines and newspapers).

As shown in FIG. 1, any of several different types of electronic devices(e.g., notebook computer 105, a tablet computer or eBook reader device115, smart phone 120) may be configured to access, via a network 100,items of digital media (e.g., eBooks, movies, songs or the like)residing on a computer system controlled by a content provider 105(e.g., an online web site that sells eBooks and/or other types ofdigital media). A user of such an electronic device can view, purchaseand download eBooks from the content provider 105 and then use eBookapplication software residing on the electronic device to read orotherwise peruse the purchased eBook.

FIGS. 2A and 2B illustrate how eBook reader devices may be configured topresent materials in more than one orientation. Optionally, the eBookreader device can include an accelerometer or equivalent to enablesoftware executing on the device to determine the device'sattitude—specifically, whether the device is being held in a portraitorientation as shown in FIG. 2A or in landscape orientation as shown andfurther to detect when transitions occur from one orientation toanother, and to change the display accordingly. Specifically, FIGS. 2Aand 2B illustrate how eBook reader devices may be configured to presentmaterials in more than one orientation. For example, if a user isreading an eBook application in portrait orientation as shown in FIG.2A, and assuming that only a single page of the eBook application isbeing displayed at the time, and then the user rotates the device tohold it in landscape orientation as shown in FIG. 2B, software runningon the device can detect that transition (based on output from theaccelerometer) and automatically cause the device's display to change sothat the eBook's text is displayed in the proper direction for the usereasily read it in the current orientation. At the same time, the displaycan be automatically be changed to cause two pages of the eBook to bedisplayed to the user (as shown in FIG. 2B) instead of just one page (asshown in FIG. 2B). The converse may be applied if the user subsequentlyreturns the device's orientation to portrait as shown in FIG. 2A. Thechange in orientation may be used, in turn, to inspire a change in theavailable display area. Thus, positioning an eBook application inportrait mode may lead to a first orientation that results in a firstallocation of display space while positioning the eBook application in alandscape mode may lead to a second orientation that results in a firstallocation of display. Each of the orientations may in turn regulate howthe different displayable objects within an eBook application arerendered. For example, the first orientation may result non-interactivethumbnail image of the displayable object being rendered while a secondorientation may result in a second reduced-size representation with auser-interactive object corresponding to the displayable object beingrendered.

In one configuration, if the user is reading page 360 of the eBook whilein portrait orientation (FIG. 2A), then upon changing to the landscapeorientation (FIG. 2B), the device would automatically respond bydisplaying an image of a folded-open hardcover book in which theentirety of page 360 is on the left side of the display and the entiretyof the next page of the eBook (that is, page 361) is displayed on theright side of the display, thereby doubling the amount of visible eBooktext, and further extending the appearance that he/she is reading a realpaper & ink book. Alternatively, instead of displaying the current page(page 360) and the next page (page 361) in response to a rotation of thedevice from portrait to landscape orientation, the current page and theprevious page could both be displayed. In terms of the example shown inFIGS. 2A-2B, in this alternative implementation (which optionally couldbe selected by the user of the device), a rotation of the device fromthe portrait orientation shown in FIG. 2A to the landscape orientationwould result in the current page (page 360) being displayed on the rightside of the display and the previous page (page 359) being displayed onthe left side of the display.

The eBook reader device can display suggestions to the user (e.g., usinga mechanism analogous to the Genius functionality available in iTunesfrom Apple Inc.) for additional reading or other content (e.g., movies,songs, etc.), for example, publications by the same author, same genre,background reading, audiobook versions of the eBook, movie versions ofthe eBook, songs in the soundtrack of a movie version of the eBook,and/or demographic and/or psychographic suggestions that be purchased(or sampled) in the online bookstore. Such suggestions may be displayedto the user at the end of the eBook under consideration. In addition,such suggestions can be downloaded in the background while the device isconnected to the network, and cached on the user's device, therebymaking them available for display to the user even if the user is notpresently connected to a network (that is, is offline) when the end ofan eBook is reached.

The online bookstore environment and user interaction may be implementedto provide the user with a seamless download experience. For example, asnoted above, the use can download a (free) sample of an eBook in whichhe/she is potentially interested and then read that eBook sample on theuser's device. If the user then decides to purchase a full copy of that,e.g., first chapter of a book, then aided by the tight integrationbetween the eBook application software and the online bookstore website,the sample copy can be automatically deleted from the user's device andreplace with a full copy of the eBook along with a bookmark indicatingwhere the user left off reading in the sample copy.

The context of a user's location in an eBook may be used to determinewhether to render a first reduced-size representation comprising anon-interactive thumbnail image of the displayable object or a secondreduced-size representation comprising a user-interactive objectcorresponding to the displayable object. For example, if the user is atthe beginning of a book and a table of contents is being rendered, afirst reduced-sized representation may be rendered. On the other hand,if the user is viewing the end of an eBook where voluminous referencesand citations appear, the eBook may be configured to render a secondreduced-size representation comprising a user-interactive objectcorresponding to the displayable object (in order to facilitate varyingdegrees of review of voluminous reference material that may beavailable). Identifying the user's current reading position may involveapplying multiple different techniques in sequence, perhaps in an orderof priority based on an associated level of confidence that therespective techniques will produce correct, helpful or acceptableresults. For example, a current reading position determination based oncurrent page number is relatively unlikely to produce a correct result,as the pagination of an eBook is dynamic and necessarily changes withfactors such as font choice, font size, page size and margin size.Basing a current reading position determination on word or paragraphcount (that is, as counted from the first word or paragraph of thedocument) of the currently displayed text may be more likely to producea better result, but still may be unacceptably inaccurate if an updatedor supplemented version of the eBook in question has been downloaded onthe device since the user stopped reading. Another perhaps more accuratetechnique for determining current reading position may be to snag andremember a string of likely unique text on the currently displayed pageand then subsequently attempt to find that same string of text inanother copy of that same eBook, for example, that the user seeks toread on a different device (e.g., user leaves off reading an eBook on anotebook computer and seeks to pick up where he/she left off on in thatsame eBook but on a separate device such as an eBook application).

The size of the text string to be used in this technique can varydepending on application and implementation preferences. One optionwould be to use a relatively large string size (e.g., 1000 characters)to increase the likelihood that the chosen string is unique. But if nomatch for a text string of that greater length is found, then a seconditeration of the search could use a smaller string length and look for abest or closest match. The scenario of not finding an exact match whenlooking for a current reading position based on a unique text string ismost likely to occur when seeking to find current reading position in aversion of the document that differs somewhat from the version of thedocument that was being read when the user stopped reading.

The present configuration for an eBook reader device may be used todetermine whether to render a first reduced-sized representation may berendered or a second reduced-size representation comprising auser-interactive object corresponding to the displayable object. Forexample, if a smaller font size is being used and/or the devicedetermines that the user is navigating through the material at a rapidpace, the eBook application may determine that the user is merelyperusing the material at a high level and present content in a mannercommensurate with a user perusing material. Thus, a second reduced-sizerepresentation comprising a user-interactive object corresponding to thedisplayable object may be used if the eBook application determines thatthe user is not likely to be interested in any one piece of content thatis being rendered. The second reduced-size representation comprising auser-interactive object may be used so that the user may selectivelyinvoke the user-interactive object for those instances where theunderlying content draws additional user interest while the user isperusing content. In contrast, if a user appears to be reviewingmaterials at a slower rate, then a presentation mode that facilitatesdetailed inspection of all content may be used.

Assuming an acceptable method of determining current reading positionhas been implemented, that feature can be used to facilitate dynamic(either in real time, periodical or based on discrete events) loggingand updating of current reading positions for all of a user's eBooks.These current reading positions can be maintained an updated at acentral location so that the user can quickly and easily change readingdevices while automatically and effortlessly keeping track of his/herreading position in each of his/her eBooks or other electronicdocuments. A log then may be analyzed to develop a model for the user'sreading habits so that a presentation mode can more accurately bepredicted.

Optionally, some user behaviors should be taken into account whendetermining whether or not to update a current reading position. Forexample, if a user jumps to an entirely different location in an eBook(e.g., table of contents, index or the like) this may be flagged asnon-reading behavior and thus not used to present content that can bereadily read. Similarly, if a user skims quickly through an eBook at arate typically too fast for a human to read the text displayed, then thecurrently reading position may not be changed.

Different graphical representations of bookmarks can be implemented toprovide enhanced functionality and ease of use. For example, userspecified bookmarks could appear in one manner and bookmarks from othersources (e.g., author, publisher, friends, colleagues, other thirdparties) could each have their own unique appearance to aid indistinguishing them from each other.

Bookmarks relating to the same digital content may be shared amongdifferent users, for example over local network such as an ad hocnetwork arising from a zero-network configuration protocol such as BonJour. In that case, useful examples arise, such as a teacher being ableto automatically share bookmarks with students in the teacher's class sothat the students can better follow along with the instruction.

An eBook reader device optionally can implement a scrubbing bar GUImechanism with which a user can interact (e.g., by dragging his / herfinger along) to quickly flip through pages in an eBook. A scrubbing barcan appear along the horizontal and/or vertical access of an eBook.Increments (tick marks) on the scrubbing bar may correspond to pages,chapters, sections or the like depending on the desired implementationand/or on a per eBook basis (and/or as customized / selected by user,author, retailer, publisher, etc.). The style (e.g., look & feel) of ascrubbing bar can be varied based on a characteristic of the eBook(e.g., vintage, genre, subject matter) such as classical, modern,ancient, and the like. Similarly, the appearance of any or all of thevisual elements of the eBook can vary based on such characteristics.

FIGS. 3A-3D illustrate how an eBook reader device 300 may be configuredto present either a first reduced-size representation or a secondreduced-size representation based on determining whether the firstreduced-size representation or the second reduced-size representationprovides a better end-user experience.

As shown, FIG. 3A illustrates how a table of contents may be modified inorder to display the table of contents using a first reduced-sizerepresentation as a non-interactive thumbnail image of the displayableobject. As shown, FIG. 3A illustrates a table of contents as the tableof contents would appear if dimensions of the eBook reader device wereof sufficient dimensions to render the table of contents in theiroriginal format. The table of content lists three chapters shown in themiddle of the page with a sequence of periods that provides a visualtrailer that is associated with the page number appearing in a rightmost column.

However, eBook reader devices may not be configured to support theoriginal dimensions of the displayable object. For instance, a user maybe viewing content on a mobile phone with a limited display area that ismuch smaller than the dimensions of a hard cover book. In anotherinstance, a user may be viewing the displayable object on a tabletdevice that is rendering eBook application content embedded withinanother application. The eBook application may only be allocated a fewsquare inches within a larger display. As a result, the eBookapplication may be configured to modify the content that is displayed toa user. In order to accommodate these constraints, an image may bescaled and/or document formatting may be revised to better accommodatethe available dimensions.

FIG. 3B provides on example of how a table of contents may be modifiedto render a first reduced-size representation as a non-interactivethumbnail image of the table of contents. The table of contents has beensimplified so that the table of contents appears within the upper lefthand corner. Also, the visual trailer has been eliminated in order toreduce the size of the constraints. Together, the modifications to thetable of contents reduce the size of the displayable object so that theuser can generally perceive the critical content within the table ofcontents without limiting the user to viewing only portions of thecontent.

In one configuration, the FIG. 3A represents formatted text that ispublished according to an eBook standard. In another configuration, FIG.3A includes an image. The displayable object may be transformed from afirst format to a second format in order to display the firstreduced-size representation as a non-interactive thumbnail image of thedisplayable object. For example, FIG. 3A may be converted from an eBookpublication standard to the image shown in FIG. 3B in order to renderthe object within an allocated portion of a display. The source for thedisplayable object may be analyzed so that critical and non-criticalelements within the source are identified and selectively included. Eachelement without the source document may be analyzed in order todetermine the impact that each element has on the required display sizeand also include an indication of whether the element is necessaryand/or can be scaled. If the object is not necessary and the dimensionalconstraints indicate that display of even critical elements will beconstrained, then the eBook application may be configured to removethose non-critical elements as the source is converted into an image forthe converted display.

FIG. 3C illustrates an alternative approach for how a displayable objectmay be rendered within an eBook application. Specifically, FIG. 3Cillustrates how a geographic map is rendered as a second reduced-sizerepresentation comprising a user-interactive object corresponding to thedisplayable object. The source document represents an image with a greatdeal of detailed information included therein. The dimension of theeBook reader device make it extraordinarily difficult to render the mapat original dimensions and also to render a desired amount ofinformation within the map. Instead, an image of the map has beencompressed and scaled into the display shown in FIG. 3C. In addition,the display also includes a link to different portions of the map (e.g.,includes a links to different continents within the world map). Thegeographic map is rendered as a second reduced-size representation witha user-interactive object corresponding to the source map so that theuser can select (e.g., click or touch) a portion of the map in order todisplay a map with greater detail.

FIG. 3D illustrates how the selected interactive map may be invoked toretrieve additional information. As show, a larger map is shown thatenables the user to perceive the map in greater detail. In addition, abubble message is shown indicating that the user has selected a portionof the interactive map corresponding to North America. The user mayselect the bubble message to retrieve addition information related toNorth America, or the user may select another region of the map in orderto retrieve additional information related to another area on map.

FIG. 4 illustrates how a first reduced-size representation or a secondreduced-size representation is displayed based on available displayspace relative to a size of the underlying object. There two sets ofdimension for each of the displayable objects. First, there is a set oforiginal dimensions for the displayable object that originally exceedsthe viewing area (not shown). Second, there is the set of dimensionsthat are available to a displayable object within the eBook application.As shown, eBook reader device 400 includes a display with a table ofcontents 410 and a map 420. Both the table of contents 410 and the map420 have a width 430. Table of contents has a height 440 and map 420 hasa height 450. The width 430 and the heights 440 and 450 are based on theavailable display area within the eBook application.

The original dimensions and the available display are may be used todetermine whether to display the an end-user experience is better servedby displaying a first reduced-size representation with a non-interactivethumbnail image of the displayable object or a second reduced-sizerepresentation with a user-interactive object corresponding to thedisplayable object. For example, if the differences are determined to beless than 20%, then a scaling algorithm may be used to render thedisplayable object as a first reduced-size representation with anon-interactive thumbnail image of the displayable object. If thedifferences are more than 20%, then the eBook application may beconfigured to modify the content so as to render a user-interactiveobject corresponding to the displayable object so that the user maybetter identify the requested content through user interaction.

The selection of a first reduced-size representation with anon-interactive thumbnail image of the displayable object or a secondreduced-size representation with a user-interactive object correspondingto the displayable object also may be based on the underlying content.For example, a first threshold may be used in response to determiningthat the source includes text while a second threshold may be used inresponse to determining that the source includes imagery (e.g., a map).In still another configuration, the decision to use a first reduced-sizerepresentation with a non-interactive thumbnail image of the displayableobject or a second reduced-size representation with a user-interactiveobject corresponding to the displayable object may be based on thedegree of underlying detail in the source object. For example, a mapwith a high amount of granular detail may be transformed into aninteractive displayable object while a map with less granular detail maybe transformed into a non-interactive thumbnail image of the displayableobject. The map (or image) may be analyzed to determine the lossinessand/or degree of compression available to ascertain whether a thresholddegree of detail is present that leads to transformation to a firstformat or a second format.

FIG. 5 depicts an exemplary architecture of an electronic client device100 that can be used to for eBook applications. The client device 100includes a processor 605 configured to control the operation of theclient device 100. For example, the processor 605 can controlcommunications with one or more media servers to receive eBooks or othermedia for presentation on the client device 100. A media server can beany general purpose server that provides access to media content. Themedia can be received through push and/or pull operations, includingthrough downloading and streaming. The processor 605 also can beconfigured to generate output signals for presentation, such as one ormore streams representing media content or an interface for interactingwith a user.

The client device 100 also includes a storage device 610 that can beconfigured to store information including media, configuration data,user preferences, and operating instructions. The storage device mayinclude non-transitory media. The storage device 610 can be any type ofnon-volatile storage, including a hard disk device or a solid-statedrive. For example, media received from an external media server can bestored on the storage device 610. The received media thus can be locallyaccessed and processed. Further, configuration information, such as theresolution of a coupled display device or information identifying anassociated media server, can be stored on the storage device 610.Additionally, the storage device 610 can include one or more sets ofoperating instructions that can be executed by the processor 605 tocontrol operation of the client device 100. In an implementation, thestorage device 610 further can be divided into a plurality ofpartitions, wherein each partition can be utilized to store one or moretypes of information. Additionally, each partition can have one or moreaccess control provisions.

A communication bus 615 couples the processor 605 to the othercomponents and interfaces included in the client device 100. Thecommunication bus 615 can be configured to permit unidirectional and/orbidirectional communication between the components and interfaces. Forexample, the processor 605 can retrieve information from and transmitinformation to the storage device 610 over the communication bus 615. Inan implementation, the communication bus 615 can be comprised of aplurality of busses, each of which couples at least one component orinterface of the client device 100 with another component or interface.

The client device 100 also includes a plurality of input and outputinterfaces for communicating with other devices, including media serversand presentation devices. A wired network interface 620 and/or awireless network interface 625 each can be configured to permit theclient device 100 to transmit and receive information over a network,such as a local area network (LAN) or the Internet, thereby enablingeither wired and/or wireless connectivity and data transfer.Additionally, an input interface 630 can be configured to receive inputfrom another device through a direct connection, such as a USB, eSATA oran IEEE 1394 connection.

Further, an output interface 635 can be configured to couple the clientdevice 100 to one or more external devices, including a television, amonitor, an audio receiver, and one or more speakers. For example, theoutput interface 635 can include one or more of an optical audiointerface, an RCA connector interface, a component video interface, anda High-Definition Multimedia Interface (HDMI). The output interface 635also can be configured to provide one signal, such as an audio stream,to a first device and another signal, such as a video stream, to asecond device. Further, a non-volatile memory 640, such as a read-onlymemory (ROM) also can be included in the client device 100. Thenon-volatile memory 640 can be used to store configuration data,additional instructions, such as one or more operating instructions, andvalues, such as one or more flags and counters. In an implementation, arandom access memory (RAM) also can be included in the client device100. The RAM can be used to store media content received in the clientdevice 100, such as during playback or while the user has pausedplayback. Further, media content can be stored in the RAM whether or notthe media content is stored on the storage device 610.

Additionally, the client device 100 can include a remote controlinterface 645 that can be configured to receive commands from one ormore remote control devices (not pictured). The remote control interface645 can receive the commands through wireless signals, such as infraredand radio frequency signals. The received commands can be utilized, suchas by the processor 605, to control media playback or to configure theclient device 100. In an implementation, the client device 100 can beconfigured to receive commands from a user through a touch screeninterface. The client device 100 also can be configured to receivecommands through one or more other input devices, including a keyboard,a keypad, a touch pad, a voice command system, and a mouse.

Configurations of computing devices, user interfaces for such devices,and associated processes for using such devices are described. In someconfigurations, the computing device is a portable communications devicesuch as a mobile telephone that also contains other functions, such asPDA and/or music player functions. Exemplary configurations of portablemultifunction devices include, without limitation, the iPhone® and iPodTouch® devices from Apple, Inc. of Cupertino, Calif. Other portabledevices such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touch pads) may also beused. It should also be understood that, in some configurations, thedevice is not a portable communications device, but is a desktopcomputer with a touch-sensitive surface (e.g., a touch screen displayand/or a touch pad).

In the discussion that follows, a computing device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the computing device may include one or moreother physical user-interface devices, such as a physical keyboard, amouse and/or a joystick.

The device supports a variety of applications, such as one or more ofthe following: a drawing application, a presentation application, a wordprocessing application, a website creation application, a disk authoringapplication, a spreadsheet application, a gaming application, atelephone application, a video conferencing application, an e-mailapplication, an instant messaging application, a workout supportapplication, a photo management application, a digital cameraapplication, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the device maybe adjusted and/or varied from one application to the next and/or withina respective application. In this way, a common physical architecture(such as the touch-sensitive surface) of the device may support thevariety of applications with user interfaces that are intuitive andtransparent.

The user interfaces may include one or more soft keyboardconfigurations. The soft keyboard configurations may include standard(QWERTY) and/or non-standard configurations of symbols on the displayedicons of the keyboard, such as those described in U.S. patentapplications Ser. No. 11/459,606, “Keyboards For Portable ElectronicDevices,” filed Jul. 24, 2006, and Ser. No. 11/459,615, “Touch ScreenKeyboards For Portable Electronic Devices,” filed Jul. 24, 2006. Thekeyboard configurations may include a reduced number of icons (or softkeys) relative to the number of keys in existing physical keyboards,such as that for a typewriter. This may make it easier for users toselect one or more icons in the keyboard, and thus, one or morecorresponding symbols. The keyboard configurations may be adaptive. Forexample, displayed icons may be modified in accordance with useractions, such as selecting one or more icons and/or one or morecorresponding symbols. One or more applications on the device mayutilize common and/or different keyboard configurations. Thus, thekeyboard configuration used may be tailored to at least some of theapplications. In some configurations, one or more keyboardconfigurations may be tailored to a respective user. For example, one ormore keyboard configurations may be tailored to a respective user basedon a word usage history (lexicography, slang, individual usage) of therespective user. Some of the keyboard configurations may be adjusted toreduce a probability of a user error when selecting one or more icons,and thus one or more symbols, when using the soft keyboardconfigurations.

Attention is now directed towards configurations of portable deviceswith touch-sensitive displays. FIGS. 6A and 6B are block diagramsillustrating portable multifunction devices 100 with touch-sensitivedisplays 112 in accordance with some configurations. The touch-sensitivedisplay 112 is sometimes called a “touch screen” for convenience, andmay also be known as or called a touch-sensitive display system. Thedevice 100 may include a memory 102 (which may include one or morecomputer readable storage mediums), a memory controller 122, one or moreprocessing units (CPU's) 120, a peripherals interface 118, RF circuitry108, audio circuitry 110, a speaker 111, a microphone 113, aninput/output (I/O) subsystem 106, other input or control devices 116,and an external port 124. The device 100 may include one or more opticalsensors 164. These components may communicate over one or morecommunication buses or signal lines 103.

It should be appreciated that the device 100 is only one example of aportable multifunction device 100, and that the device 100 may have moreor fewer components than shown, may combine two or more components, or amay have a different configuration or arrangement of the components. Thevarious components shown in FIGS. 6A and 6B may be implemented inhardware, software, or a combination of both hardware and software,including one or more signal processing and/or application specificintegrated circuits.

Memory 102 may include high-speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid-state memorydevices. Access to memory 102 by other components of the device 100,such as the CPU 120 and the peripherals interface 118, may be controlledby the memory controller 122.

The peripherals interface 118 couples the input and output peripheralsof the device to the CPU 120 and memory 102. The one or more processors120 run or execute various software programs and/or sets of instructionsstored in memory 102 to perform various functions for the device 100 andto process data.

In some configurations, the peripherals interface 118, the CPU 120, andthe memory controller 122 may be implemented on a single chip, such as achip 104. In some other configurations, they may be implemented onseparate chips.

The RF (radio frequency) circuitry 108 receives and sends RF signals,also called electromagnetic signals. The RF circuitry 108 convertselectrical signals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. The RF circuitry 108 may include well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. The RFcircuitry 108 may communicate with networks, such as the Internet, alsoreferred to as the World Wide Web (WWW), an intranet and/or a wirelessnetwork, such as a cellular telephone network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN), and otherdevices by wireless communication. The wireless communication may useany of a plurality of communications standards, protocols andtechnologies, including but not limited to Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), high-speeddownlink packet access (HSDPA), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a,IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over InternetProtocol (VoIP), Wi-MAX, a protocol for email (e.g., Internet messageaccess protocol (IMAP) and/or post office protocol (POP)), instantmessaging (e.g., extensible messaging and presence protocol (XMPP),Session Initiation Protocol for Instant Messaging and PresenceLeveraging Extensions (SIMPLE), Instant Messaging and Presence Service(IMPS)), and/or Short Message Service (SMS), or any other suitablecommunication protocol, including communication protocols not yetdeveloped as of the filing date of this document.

The audio circuitry 110, the speaker 111, and the microphone 113 providean audio interface between a user and the device 100. The audiocircuitry 110 receives audio data from the peripherals interface 118,converts the audio data to an electrical signal, and transmits theelectrical signal to the speaker 111. The speaker 111 converts theelectrical signal to human-audible sound waves. The audio circuitry 110also receives electrical signals converted by the microphone 113 fromsound waves. The audio circuitry 110 converts the electrical signal toaudio data and transmits the audio data to the peripherals interface 118for processing. Audio data may be retrieved from and/or transmitted tomemory 102 and/or the RF circuitry 108 by the peripherals interface 118.In some configurations, the audio circuitry 110 also includes a headsetjack. The headset jack provides an interface between the audio circuitry110 and removable audio input/output peripherals, such as output-onlyheadphones or a headset with both output (e.g., a headphone for one orboth ears) and input (e.g., a microphone).

The I/O subsystem 106 couples input/output peripherals on the device100, such as the touch screen 112 and other input/control devices 116,to the peripherals interface 118. The I/O subsystem 106 may include adisplay controller 156 and one or more input controllers 160 for otherinput or control devices. The one or more input controllers 160receive/send electrical signals from/to other input or control devices116. The other input/control devices 116 may include physical buttons(e.g., push buttons, rocker buttons, etc.), dials, slider switches,joysticks, click wheels, and so forth. In some alternate configurations,input controller(s) 160 may be coupled to any (or none) of thefollowing: a keyboard, infrared port, USB port, and a pointer devicesuch as a mouse. The one or more buttons may include an up/down buttonfor volume control of the speaker 111 and/or the microphone 113. The oneor more buttons may include a push button. A quick press of the pushbutton may disengage a lock of the touch screen 112 or begin a processthat uses gestures on the touch screen to unlock the device, asdescribed in U.S. patent application Ser. No. 11/322,549, “Unlocking aDevice by Performing Gestures on an Unlock Image,” filed Dec. 23, 2005,which is hereby incorporated by reference in its entirety. A longerpress of the push button (e.g., 206) may turn power to the device 100 onor off. The user may be able to customize a functionality of one or moreof the buttons. The touch screen 112 is used to implement virtual orsoft buttons and one or more soft keyboards.

The touch-sensitive touch screen 112 provides an input interface and anoutput interface between the device and a user. The display controller156 receives and/or sends electrical signals from/to the touch screen112. The touch screen 112 displays visual output to the user. The visualoutput may include graphics, text, icons, video, and any combinationthereof (collectively termed “graphics”). In some configurations, someor all of the visual output may correspond to user-interface objects.

A touch screen 112 has a touch-sensitive surface, sensor or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. The touch screen 112 and the display controller 156 (along withany associated modules and/or sets of instructions in memory 102) detectcontact (and any movement or breaking of the contact) on the touchscreen 112 and converts the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages orimages) that are displayed on the touch screen. In an exemplaryconfiguration, a point of contact between a touch screen 112 and theuser corresponds to a finger of the user.

The touch screen 112 may use LCD (liquid crystal display) technology, orLPD (light emitting polymer display) technology, although other displaytechnologies may be used in other configurations. The touch screen 112and the display controller 156 may detect contact and any movement orbreaking thereof using any of a plurality of touch sensing technologiesnow known or later developed, including but not limited to capacitive,resistive, infrared, and surface acoustic wave technologies, as well asother proximity sensor arrays or other elements for determining one ormore points of contact with a touch screen 112. In an exemplaryconfiguration, projected mutual capacitance sensing technology is used,such as that found in the iPhone® and iPod Touch® from Apple, Inc. ofCupertino, Calif.

A touch-sensitive display in some configurations of the touch screen 112may be analogous to the multi-touch sensitive touchpads described in thefollowing U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat. No.6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1. However, atouch screen 112 displays visual output from the portable device 100,whereas touch sensitive touchpads do not provide visual output.

A touch-sensitive display in some configurations of the touch screen 112may be as described in the following applications: (1) U.S. patentapplication Ser. No. 11/381,313, “Multipoint Touch Surface Controller,”filed May 2, 2006; (2) U.S. patent application Ser. No. 10/840,862,“Multipoint Touchscreen,” filed May 6, 2004; (3) U.S. patent applicationSer. No. 10/903,964, “Gestures For Touch Sensitive Input Devices,” filedJul. 30, 2004; (4) U.S. patent application Ser. No. 11/048,264,“Gestures For Touch Sensitive Input Devices,” filed Jan. 31, 2005; (5)U.S. patent application Ser. No. 11/038,590, “Mode-Based Graphical UserInterfaces For Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6)U.S. patent application Ser. No. 11/228,758, “Virtual Input DevicePlacement On A Touch Screen User Interface,” filed Sep. 16, 2005; (7)U.S. patent application Ser. No. 11/228,700, “Operation Of A ComputerWith A Touch Screen Interface,” filed Sep. 16, 2005; (8) U.S. patentapplication Ser. No. 11/228,737, “Activating Virtual Keys Of ATouch-Screen Virtual Keyboard,” filed Sep. 16, 2005; and (9) U.S. patentapplication Ser. No. 11/367,749, “Multi-Functional Hand-Held Device,”filed Mar. 3, 2006.

The touch screen 112 may have a resolution in excess of 100 dpi. In anexemplary configuration, the touch screen has a resolution ofapproximately 160 dpi. The user may make contact with the touch screen112 using any suitable object or appendage, such as a stylus, a finger,and so forth. In some configurations, the user interface is designed towork primarily with finger-based contacts and gestures, which are muchless precise than stylus-based input due to the larger area of contactof a finger on the touch screen. In some configurations, the devicetranslates the rough finger-based input into a precise pointer/cursorposition or command for performing the actions desired by the user.

In some configurations, in addition to the touch screen, the device 100may include a touchpad (not shown) for activating or deactivatingparticular functions. In some configurations, the touchpad is atouch-sensitive area of the device that, unlike the touch screen, doesnot display visual output. The touchpad may be a touch-sensitive surfacethat is separate from the touch screen 112 or an extension of thetouch-sensitive surface formed by the touch screen.

In some configurations, the device 100 may include a physical or virtualclick wheel as an input control device 116. A user may navigate amongand interact with one or more graphical objects (e.g., icons) displayedin the touch screen 112 by rotating the click wheel or by moving a pointof contact with the click wheel (e.g., where the amount of movement ofthe point of contact is measured by its angular displacement withrespect to a center point of the click wheel). The click wheel may alsobe used to select one or more of the displayed icons. For example, theuser may press down on at least a portion of the click wheel or anassociated button. User commands and navigation commands provided by theuser via the click wheel may be processed by an input controller 160 aswell as one or more of the modules and/or sets of instructions in memory102. For a virtual click wheel, the click wheel and click wheelcontroller may be part of the touch screen 112 and the displaycontroller 156, respectively. For a virtual click wheel, the click wheelmay be either an opaque or semitransparent object that appears anddisappears on the touch screen display in response to user interactionwith the device. In some configurations, a virtual click wheel isdisplayed on the touch screen of a portable multifunction device andoperated by user contact with the touch screen.

The device 100 also includes a power system 162 for powering the variouscomponents. The power system 162 may include a power management system,one or more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

The device 100 may also include one or more optical sensors 164. FIGS.6A and 6B show an optical sensor coupled to an optical sensor controller158 in I/O subsystem 106. The optical sensor 164 may include acharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. The optical sensor 164 receives light from theenvironment, projected through one or more lens, and converts the lightto data representing an image. In conjunction with an imaging module 143(also called a camera module), the optical sensor 164 may capture stillimages or video. In some configurations, an optical sensor is located onthe back of the device 100, opposite the touch screen display 112 on thefront of the device, so that the touch screen display may be used as aviewfinder for still and/or video image acquisition. In someconfigurations, an optical sensor is located on the front of the deviceso that the user's image may be obtained for videoconferencing while theuser views the other video conference participants on the touch screendisplay. In some configurations, the position of the optical sensor 164can be changed by the user (e.g., by rotating the lens and the sensor inthe device housing) so that a single optical sensor 164 may be usedalong with the touch screen display for both video conferencing andstill and/or video image acquisition.

The device 100 may also include one or more proximity sensors 166. FIGS.6A and 6B show a proximity sensor 166 coupled to the peripheralsinterface 118. Alternately, the proximity sensor 166 may be coupled toan input controller 160 in the I/O subsystem 106. The proximity sensor166 may perform as described in U.S. patent application Ser. No.11/241,839, “Proximity Detector In Handheld Device”; Ser. No.11/240,788, “Proximity Detector In Handheld Device”; Ser. No.11/620,702, “Using Ambient Light Sensor To Augment Proximity SensorOutput”; Ser. No. 11/586,862, “Automated Response To And Sensing Of UserActivity In Portable Devices”; and Ser. No. 11/638,251, “Methods AndSystems For Automatic Configuration Of Peripherals,” which are herebyincorporated by reference in their entirety. In some configurations, theproximity sensor turns off and disables the touch screen 112 when themultifunction device is placed near the user's ear (e.g., when the useris making a phone call).

The device 100 may also include one or more accelerometers 168. FIGS. 6Aand 6B show an accelerometer 168 coupled to the peripherals interface118. Alternately, the accelerometer 168 may be coupled to an inputcontroller 160 in the I/O subsystem 106. The accelerometer 168 mayperform as described in U.S. Patent Publication No. 2005/0190059,“Acceleration-based Theft Detection System for Portable ElectronicDevices,” and U.S. Patent Publication No. 2006/0017692, “Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer,”both of which are which are incorporated by reference herein in theirentirety. In some configurations, information is displayed on the touchscreen display in a portrait view or a landscape view based on ananalysis of data received from the one or more accelerometers.

In some configurations, the software components stored in memory 102 mayinclude an operating system 126, a communication module (or set ofinstructions) 128, a contact/motion module (or set of instructions) 130,a graphics module (or set of instructions) 132, a text input module (orset of instructions) 134, a Global Positioning System (GPS) module (orset of instructions) 135, and applications (or set of instructions) 136.

The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

The communication module 128 facilitates communication with otherdevices over one or more external ports 124 and also includes varioussoftware components for handling data received by the RF circuitry 108and/or the external port 124. The external port 124 (e.g., UniversalSerial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly toother devices or indirectly over a network (e.g., the Internet, wirelessLAN, etc.). In some configurations, the external port is a multi-pin(e.g., 30-pin) connector that is the same as, or similar to and/orcompatible with the 30-pin connector used on iPod (trademark of Apple,Inc.) devices.

The contact/motion module 130 may detect contact with the touch screen112 (in conjunction with the display controller 156) and other touchsensitive devices (e.g., a touchpad or physical click wheel). Thecontact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining if there is movement of the contact and tracking themovement across the touch-sensitive surface (e.g., detecting one or morefinger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact). Thecontact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, may include determining speed(magnitude), velocity (magnitude and direction), and/or an acceleration(a change in magnitude and/or direction) of the point of contact. Theseoperations may be applied to single contacts (e.g., one finger contacts)or to multiple simultaneous contacts (e.g., “multitouch”/multiple fingercontacts). In some configurations, the contact/motion module 130 and thedisplay controller 156 detects contact on a touchpad. In someconfigurations, the contact/motion module 130 and the controller 160detects contact on a click wheel.

The contact/motion module 130 may detect a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns. Thus, a gesture may be detected by detecting a particularcontact pattern. For example, detecting a finger tap gesture includesdetecting a finger-down event followed by detecting a finger-up event atthe same position (or substantially the same position) as thefinger-down event (e.g., at the position of an icon). As anotherexample, detecting a finger swipe gesture on the touch-sensitive surfaceincludes detecting a finger-down event followed by detecting one or morefinger-dragging events, and subsequently followed by detecting afinger-up event.

The graphics module 132 includes various known software components forrendering and displaying graphics on the touch screen 112 or otherdisplay, including components for changing the intensity of graphicsthat are displayed. As used herein, the term “graphics” includes anyobject that can be displayed to a user, including without limitationtext, web pages, icons (such as user-interface objects including softkeys), digital images, videos, animations and the like.

In some configurations, the graphics module 132 stores data representinggraphics to be used. Each graphic may be assigned a corresponding code.The graphics module 132 receives, from applications etc., one or morecodes specifying graphics to be displayed along with, if necessary,coordinate data and other graphic property data, and then generatesscreen image data to output to display controller 156.

The text input module 134, which may be a component of graphics module132, provides soft keyboards for entering text in various applications(e.g., contacts 137, e-mail 140, IM 141, browser 147, and any otherapplication that needs text input).

The GPS module 135 determines the location of the device and providesthis information for use in various applications (e.g., to telephone 138for use in location-based dialing, to camera 143 as picture/videometadata, and to applications that provide location-based services suchas weather widgets, local yellow page widgets, and map/navigationwidgets).

The applications 136 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

a contacts module 137 (sometimes called an address book or contactlist);

a telephone module 138;

a video conferencing module 139;

an e-mail client module 140;

an instant messaging (IM) module 141;

a workout support module 142;

a camera module 143 for still and/or video images;

an image management module 144;

a video player module 145;

a music player module 146;

a browser module 147;

a calendar module 148;

widget modules 149, which may include weather widget 149-1, stockswidget 149-2, calculator widget 149-3, alarm clock widget 149-4,dictionary widget 149-5, and other widgets obtained by the user, as wellas user-created widgets 149-6;

widget creator module 150 for making user-created widgets 149-6;

search module 151;

video and music player module 152, which merges video player module 145and music player module 146;

notes module 153;

map module 154; and/or

online video module 155.

Examples of other applications 136 that may be stored in memory 102include other word processing applications, other image editingapplications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, the contactsmodule 137 may be used to manage an address book or contact list,including: adding name(s) to the address book; deleting name(s) from theaddress book; associating telephone number(s), e-mail address(es),physical address(es) or other information with a name; associating animage with a name; categorizing and sorting names; providing telephonenumbers or e-mail addresses to initiate and/or facilitate communicationsby telephone 138, video conference 139, e-mail 140, or IM 141; and soforth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact module130, graphics module 132, and text input module 134, the telephonemodule 138 may be used to enter a sequence of characters correspondingto a telephone number, access one or more telephone numbers in theaddress book 137, modify a telephone number that has been entered, diala respective telephone number, conduct a conversation and disconnect orhang up when the conversation is completed. As noted above, the wirelesscommunication may use any of a plurality of communications standards,protocols and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact module 130, graphics module132, text input module 134, contact list 137, and telephone module 138,the videoconferencing module 139 may be used to initiate, conduct, andterminate a video conference between a user and one or more otherparticipants.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the e-mail client module 140 may be used to create, send,receive, and manage e-mail. In conjunction with image management module144, the e-mail module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the instant messaging module 141 may be used to enter asequence of characters corresponding to an instant message, to modifypreviously entered characters, to transmit a respective instant message(for example, using a Short Message Service (SMS) or Multimedia MessageService (MMS) protocol for telephony-based instant messages or usingXMPP, SIMPLE, or IMPS for Internet-based instant messages), to receiveinstant messages and to view received instant messages. In someconfigurations, transmitted and/or received instant messages may includegraphics, photos, audio files, video files and/or other attachments asare supported in a MMS and/or an Enhanced Messaging Service (EMS). Asused herein, “instant messaging” refers to both telephony-based messages(e.g., messages sent using SMS or MMS) and Internet-based messages(e.g., messages sent using XMPP, SIMPLE, or IMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, map module 154, and music player module 146,the workout support module 142 may be used to create workouts (e.g.,with time, distance, and/or calorie burning goals); communicate withworkout sensors (sports devices); receive workout sensor data; calibratesensors used to monitor a workout; select and play music for a workout;and display, store and transmit workout data.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact module 130,graphics module 132, and image management module 144, the camera module143 may be used to capture still images or video (including a videostream) and store them into memory 102, modify characteristics of astill image or video, or delete a still image or video from memory 102.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, text input module 134, and cameramodule 143, the image management module 144 may be used to arrange,modify (e.g., edit), or otherwise manipulate, label, delete, present(e.g., in a digital slide show or album), and store still and/or videoimages.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, audio circuitry 110, and speaker 111,the video player module 145 may be used to display, present or otherwiseplay back videos (e.g., on the touch screen or on an external, connecteddisplay via external port 124).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, and browser module 147, the music player module146 allows the user to download and play back recorded music and othersound files stored in one or more file formats, such as MP3 or AACfiles. In some configurations, the device 100 may include thefunctionality of an MP3 player, such as an iPod (trademark of Apple,Inc.).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the browser module 147 may be used to browse the Internet,including searching, linking to, receiving, and displaying web pages orportions thereof, as well as attachments and other files linked to webpages.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, e-mail module 140, and browser module 147, the calendarmodule 148 may be used to create, display, modify, and store calendarsand data associated with calendars (e.g., calendar entries, to do lists,etc.).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget modules 149 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 149-1, stocks widget 149-2, calculator widget 149-3,alarm clock widget 149-4, and dictionary widget 149-5) or created by theuser (e.g., user-created widget 149-6). In some configurations, a widgetincludes an HTML (Hypertext Markup Language) file, a CSS (CascadingStyle Sheets) file, and a JavaScript file. In some configurations, awidget includes an XML (Extensible Markup Language) file and aJavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget creator module 150 may beused by a user to create widgets (e.g., turning a user-specified portionof a web page into a widget).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, and text input module 134, thesearch module 151 may be used to search for text, music, sound, image,video, and/or other files in memory 102 that match one or more searchcriteria (e.g., one or more user-specified search terms).

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, the notesmodule 153 may be used to create and manage notes, to do lists, and thelike.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, and browser module 147, the map module 154may be used to receive, display, modify, and store maps and dataassociated with maps (e.g., driving directions; data on stores and otherpoints of interest at or near a particular location; and otherlocation-based data).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, text input module 134, e-mail client module 140,and browser module 147, the online video module 155 allows the user toaccess, browse, receive (e.g., by streaming and/or download), play back(e.g., on the touch screen or on an external, connected display viaexternal port 124), send an e-mail with a link to a particular onlinevideo, and otherwise manage online videos in one or more file formats,such as H.264. In some configurations, instant messaging module 141,rather than e-mail client module 140, is used to send a link to aparticular online video. Additional description of the online videoapplication can be found in U.S. Provisional Patent Application No.60/936,562, “Portable Multifunction Device, Method, and Graphical UserInterface for Playing Online Videos,” filed Jun. 20, 2007, and U.S.patent application Ser. No. 11/968,067, “Portable Multifunction Device,Method, and Graphical User Interface for Playing Online Videos,” filedDec. 31, 2007.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various configurations. For example, video player module145 may be combined with music player module 146 into a single module(e.g., video and music player module 152, FIG. 6B). In someconfigurations, memory 102 may store a subset of the modules and datastructures identified above. Furthermore, memory 102 may storeadditional modules and data structures not described above.

In some configurations, the device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen 112 and/or a touchpad. By using a touch screenand/or a touchpad as the primary input/control device for operation ofthe device 100, the number of physical input/control devices (such aspush buttons, dials, and the like) on the device 100 may be reduced.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some configurations, the touchpad, when touched by theuser, navigates the device 100 to a main, home, or root menu from anyuser interface that may be displayed on the device 100. In suchconfigurations, the touchpad may be referred to as a “menu button.” Insome other configurations, the menu button may be a physical push buttonor other physical input/control device instead of a touchpad.

As shown in FIG. 7A, an electronic client device such as an eBook Reader200 can be figured to present a graphical user interface (GUI) that usesa bookshelf metaphor to indicate to a user of the device which eBooks(and/or other items of digital media) are available to the user. TheeBook Reader can be equipped with a touchscreen interface (e.g.,multi-touch capable) so that the user can interact with the Reader 200,and thus eBooks, using hands and fingers much in the same manner as realpaper & ink books. In the example of FIG. 7A, this user has four eBooksavailable (or more generally, four separate ePubs indicated generally at205) that are displayed as resting on the top two shelves of the user'spersonal bookcase 202 (also referred to as the user's Library). TheeBooks may be depicted as hardcover editions of the paper & ink books towhich they correspond, with appropriate graphics, including coloring andtext, to make the eBooks appear the same as (or similar to) the paper &ink books as they would appear on the shelves of a bricks & mortar bookstore. Alternatively, an ePub may be depicted to appear similar to othertypes of publications such as journals, periodicals, newspapers,newsletters, binders, parchment, scrolls, or the like.

The user's personal bookcase 202 may be implemented to be scrollable(vertically and/or horizontally) by the user so that it can be as largeas needed to hold all of the eBooks in question.

The eBooks may be arranged automatically based on certaincharacteristics, for example, newness, most recently purchased, mostrecently accessed, most frequently accessed, and the like, so that someeBooks are placed in positions of more prominence and/or conspicuousnessthan others. The arrangement of the available eBooks also may bealtered—either automatically and/or based on user input—to sort anddisplay them according to title, author, genre, date obtained, copyrightdate, genre, language, or the like.

Display of the user's personal bookcase 202 can be updated and alteredautomatically to reflect the availability of new content, e.g., such asnewly purchased eBooks or new or updated versions of previouslypurchased eBooks. The appearance of an eBook can be altered to indicatestatus information associated with the book. For example, a newlypurchased eBook that has not yet completed downloading can have a firstappearance that automatically changes to a second appearance oncedownloading has completed.

In addition, the eBooks may be labeled, for example, such as withbanners 207 or 209 draped across the eBook's cover along with a textualindication of a characteristic of the eBook (e.g., NEW, SAMPLE,PARTIALLY READ, LAST READ, UPDATED, NEW VERSION, EXPIRED). The GUI mayinclude a Button 220 or other GUI mechanism that, when selected by theuser, causes the display to redirect to an online bookstore at which theuser can shop for, sample, browse and/or purchase eBooks. Optionally,pressing Button 220 can cause a cellular, WiFi or Bluetooth radio indevice 200 to turn on (if off) to provide connectivity to the network100, and thus to the Content Provider 105, for example, via the Internetor other packet-switched network.

As shown in FIG. 7B, the online bookstore also may use a bookshelfmetaphor to display a bookcase 225 that holds eBooks and other digitalcontent items that are available for previewing, sampling and/orpurchasing. These may include featured eBooks, top-sellers lists, andrecommendations based on the user's past purchases (and/or usingdemographic and/or psychographic information).

While connected to the online bookstore, the user can preview eBooks(e.g., read a chapter online without purchasing the eBook) or requestthat a sample (e.g., a chapter or two) of a particular eBook bedownloaded to the client 200 so that the user can take his/her timereading the sample offline. The user can also purchase an eBook, whichcauses a copy of the eBook to start downloading to the user's clientdevice 200.

The GUI for the online bookstore also may include a “Purchases” button230, the selection of which takes the user to a network location thatprovides the user with access to a complete history of all previouslypurchased items, and provides the user with the ability to re-downloaditems to reading platform of choice (e.g., any of the user's suitableelectronic devices) at any time.

Once purchased, an eBook appears on user's personal bookshelf 202 andmay have a graphical indication that it is in process of downloading andthe status of same (e.g., % of eBook downloaded). An animation mayaccompany the transition of a user's moving from his/her personalbookshelf area to the online bookstore and/or back again. For example,when the user clicks the Store Button 220, the device could depict ananimation of a “secret rotating bookcase” that spins around to revealthe user's bookcase on one side and the online store's bookcase on theother side.

The act of purchasing (or sampling) an eBook from the online store maytrigger an animation to appear on the device to present a visualindication of the transition that is occurring from the online store'sbookshelf 225 to the user's from personal bookshelf (aka library). Forexample, when a user purchases (or samples) an eBook while in the onlinebookstore, the eBook in question could be displayed as enlarging andfloating toward the user (i.e., to the forefront) while in thebackground, the bookcase spins back around to user's personal bookcaseand the enlarged, floating, purchase eBook reduces back to normal sizeand floats to an appropriate place on user's bookshelf.

When a user desires to read an eBook on his/her shelf, it can beselected by touching a finger to the device's multi-touch screen at alocation corresponding to the eBook's icon. In response, the eBooktypically will be displayed as if a hardcover book was being opened bythe user, for example, at the eBook's first page (or Table of Contentsor Foreword or Dedication) when the eBook is being opened for the firsttime since downloading. The user may then read the eBook by interactingwith the multi-touch screen much in the same way that the user wouldinteract with a paper & ink book. That is, pages of the eBook can beflipped by placing a finger at an appropriate position on the page andmoving it along the screen as if seeking to flip a page in a paper & inkbook. In response, the display changes to giving the appearance of apaper page curling over in the desired direction to reveal the next pagein the eBook (which may be on the backside of the page just read).

Other visual indications and animations can be used to emulate theexperience of reading a paper & ink book. For example, the pages can becolored and/or shaded to appear as different types or grades of paper,and/or to appear three dimensional. For example, in a view where twopages of the eBook are visible in the GUI at the same time (i.e., a dualpage view), the binding and/or edges of the eBook can be shaded to makethe eBook appear three dimensional and thus similar to a paper & inkbook folded open to a particular page.

The page curl animation used to depict page flipping of eBook pages maybe implemented to follow the position and/or speed of the user's finger.For example, the position and extent of the page curl displayed followsthe user's exact finger position, velocity, and/or acceleration in amanner that simulates the actual physical behavior of paper page beingmanipulated by human finger.

The page flipping animation optionally may employ a thresholding featurethat is based on the position of the page curl, the speed oracceleration of the user's finger or the like, such that even if theuser lifts his/her finger from the screen, the page neverthelesscontinues to complete the flip if the current position of the page curl(optionally adjusted for velocity and/or acceleration of the user'sfinger) has met or exceeded a predetermined threshold.

The visual indications and animations used for publication types otherthan rigid books (e.g., newspapers, magazines) may similar be suited toemulate their real life counterparts—e.g., an e-Newspapers may beanimated as unfolding from its folded state to a full length state, justas a real newspaper typically is unfolded prior to reading.

The device's GUI and operation can be implemented to accommodate any orall of the various different reading navigation models corresponding todifferent languages or media types. For example, for publications in theEnglish language, the device would be configured to adopt aleft-to-right, top-to-bottom, front-to-back reading and navigationmodel, consistent with the standard convention for the English language.Alternatively, or in addition, the device could be configured to adopt adifferent reading / navigation direction or model such as one or more ofright-to-left, bottom-to-top and/or back-to-front to accommodatepublications in other languages such as Arabic or Hebrew. Similarly, thedevice could be configured to adopt reading/navigation models that areoptimized for the format of the content being viewed—for example, anewspaper formatted into side-by-side columns or a comic book or graphicnovel having discrete panels or cells that are to be viewed in a certainorder and direction. In the case of a comic book or graphic novel, eachcell could be automatically re-sized and/or arranged to occupy aspecified portion and/or region of the device's screen—for example, twocells at a time, either side-by-side or one on top of the other. Any orall of these features and capabilities could be selected or customizableby the user of the device.

While reading an eBook, the GUI optionally may provide supplemental orcontext information using pop-up user interface (“UI”) bubbles thatappear, for example, when the user has selected a word or phrase bytouching and holding his/her finger on the screen for a predeterminedperiod of time (e.g., one second or longer). For example, if a userpresses and holds his/her finger on any word in the page, a pop-up UIbubble could appear that provides the user to options to copy that wordto a virtual clipboard (e.g. for pasting into another UI field), lookingup the selected word in a dictionary or other source (e.g., Wikipedia,Google), or designating that word as a target word on which to perform afind operation. In general, implementation of such pop-up UI bubblescould be extended to accommodate essentially any type of plug-ins ordata detectors for use with other applications.

In implementing a find (or search) function, the GUI could enable theuser selectively to search for a selected word or phrase either anywherewithin the same eBook (with an optional “find forward” and/or “findbackward” feature), within any item of content on the user's device, ona network content repository associated with that user, and/or in anyarbitrarily designated universe of content, for example, all of thepublications available at a content provider's online bookstore.

FIGS. 8A-8C illustrate exemplary configurations for scrubbing bars. Theexample of FIG. 8A uses a horizontal scrubbing bar that includes BACKand FORWARD arrows to move between chapters. The current chapter (here,chapter 5) is expanded to give the user increased granularity forenhancing scrubbing precision. FIGS. 8B and 8C represent an example ofan implementation in which a page indicator display (“65 of 153”)changes to a series of horizontal dots when the user presses and holdshis/her finger on that page indicator display. The user can then quicklyjump to another page in the eBook by dragging his/her finger along thatrow of dots in the desired direction.

Alternatively, or in addition, the scrubbing bar could, for example,when touched by a user's finger, pop-up an informational window thatpartially overlies the current and displays additional information suchas chapter number, chapter title or the like.

The resulting behavior of a scrubbing operation either can cause pageflipping animations to be displayed while the user is dragging his/herfinger along the scrubbing bar, or the animations can be suspended orotherwise not used, thereby helping to reduce confusion that might becaused by excessive display changes. Alternatively, or in addition, thepage display can remain static until the user has stopped dragginghis/her finger on the scrubbing bar, at which point the display wouldrespond with a single jump to the newly selected page (rather thanshowing images or suggestions of the intervening page flip transitions).

As shown in FIG. 2B, an eBook being read can be depicted as having theread pages displayed on the left side and unread pages displayed on theright side. These read/unread pages can be displayed as a static graphic(i.e., unchanging in thickness) or can be altered (potentially with eachpage flip) to give the user a visual indication of how many pages havebeen read/unread, similar to reading a paper & ink book. For example,the displayed read/unread pages can be a true and proportionatedepiction depending on book length and current reading position or canbe limited to two or more standard representations that give a feel ofthe relative length and/or reading position of the eBook (e.g., thin,medium, thick).

The visual and graphical choices specified in an eBook's ePub file canbe overridden, for example, by the retailer (e.g., content provider105), the eBook reader software and/or device manufacturer, and/orcustomized by the user. For example, unpleasant color combinations oftext and background colors resulting from the ePub's specified valuescan be changed. Similarly, any or all of the graphical or color choicescan be changed based on user preferences, automatically based on genre,author, title or the like can be changed to enhance the readingexperience. In that regards, themes (e.g., modern, classical, romance,textbook, scientific treatise) of color combinations, electronic papertypes, font choice and size and the like all may be controlled atvarious different levels in the distribution and/or usage processdepending on design and implementation preferences.

Any combination or all of the following features optionally could beimplemented.

Using a built-in accelerometer (or other attitude sensor), in responseto a detection that the user has tilted the device in a predeterminedmanner, the device could cause the display to at least partially flipover and reveal contents of one or more pages in an eBook being read onthe device, similar to how a reader might peek ahead of the currentpage, for example, to see how many pages are left in a chapter.Similarly, detection of other predetermined movements of the devicecould trigger other responses—for example, shaking of a device whilereading an eBook could cause the current eBook to close and replaceitself on the bookshelf or perhaps return to the beginning of the eBook.If a user “pinches” the device's touchscreen (e.g., by placing a thumband an index finger slightly apart on the touchscreen and then drawingthem together while remaining in contact with the touchscreen), thedevice could respond by closing the eBook or by shrinking the currentpage and/or text size.

Other potential touchscreen-based features may include enabling apredetermined gesture (e.g., swiping three fingers across thetouchscreen) to jump to the user's next eBook (according to a predefinedordering such as newness, alphabetical or the like) for display andreading, without having to return to the library or bookshelf interface.

Other touchscreen facilitated gestures could provide other optionalfunctionality. For example, a predetermined unique gesture on thetouchscreen could cause an eBook to be shared with another user, e.g.,by performing a throwing like gesture that results in the eBook inquestion effectively jump from one user's device to another user'sdevice via a wireless connection between the two devices (or via one ormore intermediate devices residing in a network cloud). A possibleextension of that feature would be to allow a user to make apredetermined gesture on the touchscreen that causes a specifiedlocation (e.g., page, line and/or paragraph number) in an eBook to bethrown to (that is, transmitted to and shared with) another deviceassociated with another user.

The device also could be fitted with an appropriate sensor that senseswhen the user turns the device around (that is, rotate the devicesubstantially 180 degrees around a vertical axis so that the back of thedevice is facing the user and the screen is facing away from the user)to show the device's screen to another person. When that event isdetected, the device could be configured, for example, to automaticallychange the display from the currently displayed page in the eBook to thefront cover of the eBook so that the other person can view the eBook'scover and read the eBook's title and/or author for him/herself.

Another possible implementation includes providing one or moreappropriate sensors in the device to be able to detect when the user hasset the device down on a table or other surface, or that the device hasotherwise entered a state of stillness. Upon detecting such an event,the device could be configured to display an animation simulating thefluttering of an eBook's pages in a breeze, somewhat similarly to whatsometimes happens when a paper & ink book is set down on its back in anopen position. Optionally, the device simultaneously could play an audiosnippet that sounds like paper pages fluttering in a breeze.

The bookshelf interface can also be implemented to provide different oradditional functionality. For example, the display of eBooks on a user'sbookshelf that haven't been opened or otherwise manipulated for apredetermined period of time could automatically be changed from a fullfront cover view to a view only of the eBooks' spines, therebyconserving display screen real estate and enabling a greater number ofeBooks and/or other publications to be visible at the same time.Similarly, the display of available periodicals such as newspapers andmagazines could be changed from a full frontal view to a pile or stackview in which only the topmost (e.g., newest) periodical is fullyvisible whereas older editions appear only as edges in a stackunderneath the topmost item, thereby reducing clutter on the bookshelfand conserving screen real estate. In addition, any periodical under thetopmost item could be archived (either in local storage or remotestorage or both) thereby conserving device memory. Optionally, thedisplayed height of the periodical stack could vary to reflect orotherwise be related to the quantity of available periodical items inthe stack.

The text or other content of a publication could have and displayselectable links that provide access to webpages, inline videos oressentially any other type of complementary content, stored eitherlocally on the device or available via the network. More generally, thecontent of a publication could include embedded dynamic content that isupdated periodically or in response to a trigger (e.g., publisher flagsthat updated or supplementary content is available) via the network.

A publication (or the GUI of the device itself) also could implement auser interface mechanism that enables different users, each having theirown device, to chat (e.g., send text messages and/or recorded voice oraudio clips back and forth in real time) amongst themselves. Forexample, students in a study group could use this chat functionality todiscuss particular passages of or concepts set forth in an assignedeBook that they were reading for a school course. Optionally, the chatmechanism could be tied to or otherwise associated with (e.g., by visualproximity) a specific portion of or location within the eBook's content.This chat functionality could be expanded and implemented to provideaccess to online forums, e.g., through which book club members couldconduct virtual book club meetings to discuss the book underconsideration, either by exchanging text and/or interactively throughvoice/video connections. As an alternative to chat functionality,various user interface mechanisms could be implemented to associate aneBook and/or specific locations or concepts therein with email or webplugin functionality.

Another potential feature is that the device could play a real (e.g.,pre-recorded) or synthesized voice that reads the words of the eBook asthe user follows along. The current reading position (i.e., the words asthey were being spoken) could be visually highlighted to enhance theuser's experience in following along and reading the words as they werebeing spoken.

FIG. 9 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screen maydisplay one or more graphics within user interface (UI) 200. In thisembodiment, as well as others described below, a user may select one ormore of the graphics by making contact or touching the graphics, forexample, with one or more fingers 202 (not drawn to scale in the figure)or one or more styluses 203 (not drawn to scale in the figure). In someembodiments, selection of one or more graphics occurs when the userbreaks contact with the one or more graphics. In some embodiments, thecontact may include a gesture, such as one or more taps, one or moreswipes (from left to right, right to left, upward and/or downward)and/or a rolling of a finger (from right to left, left to right, upwardand/or downward) that has made contact with the device 100. In someembodiments, inadvertent contact with a graphic may not select thegraphic. For example, a swipe gesture that sweeps over an applicationicon may not select the corresponding application when the gesturecorresponding to selection is a tap.

The device 100 may also include one or more physical buttons, such as“home” or menu button 204. As described previously, the menu button 204may be used to navigate to any application 136 in a set of applicationsthat may be executed on the device 100. Alternatively, in someembodiments, the menu button is implemented as a soft key in a GUI intouch screen 112.

In one embodiment, the device 100 includes a touch screen 112, a menubutton 204, a push button 206 for powering the device on/off and lockingthe device, volume adjustment button(s) 208, a Subscriber IdentityModule (SIM) card slot 210, a head set jack 212, and a docking/chargingexternal port 124. The push button 206 may be used to turn the poweron/off on the device by depressing the button and holding the button inthe depressed state for a predefined time interval; to lock the deviceby depressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In an alternative embodiment, the device 100 also mayaccept verbal input for activation or deactivation of some functionsthrough the microphone 113.

FIGS. 10A and 10B illustrate exemplary user interfaces for a menu ofapplications on a portable multifunction device 100 in accordance withsome embodiments. Similar user interfaces may be implemented on device300. In some embodiments, user interface 400A includes the followingelements, or a subset or superset thereof:

Signal strength indicator(s) 402 for wireless communication(s), such ascellular and Wi-Fi signals;

-   -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:    -   Phone 138, which may include an indicator 414 of the number of        missed calls or voicemail messages;    -   E-mail client 140, which may include an indicator 410 of the        number of unread e-mails;    -   Browser 147; and    -   Music player 146; and

Icons for other applications, such as:

-   -   IM 141;    -   Image management 144;    -   Camera 143;    -   Video player 145;    -   Weather 149-1;    -   Stocks 149-2;    -   Workout support 142;    -   Calendar 148;    -   Calculator 149-3;    -   Alarm clock 149-4;    -   Dictionary 149-5; and    -   User-created widget 149-6.

In some embodiments, user interface 400B includes the followingelements, or a subset or superset thereof: 402, 404, 405, 406, 141, 148,144, 143, 149-3, 149-2, 149-1, 149-4, 410, 414, 138, 140, and 147, asdescribed above; Map 154; Notes 153; Settings 412, which provides accessto settings for the device 100 and its various applications 136, asdescribed further below; Video and music player module 152, alsoreferred to as iPod (trademark of Apple, Inc.) module 152; and Onlinevideo module 155, also referred to as YouTube (trademark of Google,Inc.) module 155.

FIG. 10C illustrates an exemplary user interface on a multifunctiondevice with a separate display (e.g., 450) and touch-sensitive surface(e.g., 451). Although many of the examples which follow will be givenwith reference to a touch screen display (e.g., where the touchsensitive surface and the display are combined, as shown in device 100in FIGS. 10A-10B), in some embodiments the display and thetouch-sensitive surface are separate, as shown in FIG. 10C. In someembodiments the touch sensitive surface (e.g., 451 in FIG. 10C) has aprimary axis (e.g., 452 in FIG. 10C) that corresponds to a primary axis(e.g., 453 in FIG. 10C) on the display (e.g., 450). In accordance withthese embodiments, the device detects contacts (e.g., 460 and 462 inFIG. 10C) with the touch-sensitive surface 451 at locations thatcorrespond to respective locations on the display (e.g., in FIG. 10C 460corresponds to 468 and 462 corresponds to 470). In this way, user inputs(e.g., contacts 460 and 462) detected by the device on thetouch-sensitive surface (e.g., 451 in FIG. 10C) are used by the deviceto manipulate the user interface on the display (e.g., 450 in FIG. 10C)of the multifunction device when the touch-sensitive surface and thedisplay are separate. It should be understood that similar methods maybe used for other user interfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse based input or stylus input).For example, a swipe gesture may be replaced with a mouse click (e.g.,instead of a contact) followed by movement of the cursor along the pathof the swipe (e.g., instead of movement of the contact). As anotherexample, a tap gesture may be replaced with a mouse click while thecursor is located over the location of the tap gesture (e.g., instead ofdetection of the contact followed by ceasing to detect the contact).Similarly, when multiple user inputs are simultaneously detected, itshould be understood that multiple computer mice may be usedsimultaneously, or a mouse and finger contacts may be usedsimultaneously.

FIG. 11 illustrates an example of a highlighting and book-markingfeature that optionally may be included as a feature of an eBook readerapplication. As shown, a user can use his or her finger 1004 on a touchsensitive screen 1002 of a device 1000 displaying a page of text 1010 todesignate a section 1008 of text to be highlighted (e.g., overlaid withan translucent yellow color) and/or bookmarked (e.g., flagged andremembered as a user designated passage). The section 1008 optionallymay also be identified using graphical start and/or stop markers 1012.In addition, a pop-up user interface region 1006 (itself potentiallyseparated into multiple regions, each having a different associatedfunctionality such as “Highlight” or “Bookmark”) may be displayed thatenables the user to select how the selected text section 1008 is to betreated (e.g., highlighted, bookmarked and/or something else).Optionally, highlighted and/or bookmarked sections may appear as such ina table of contents of the eBook, which is updated and maintained as theuser add, changes or deletes highlighted and/or bookmarked sections.

FIG. 12 shows an example of an eBook reader application displaying anopen eBook as the user is flipping from one page to the next. Morespecifically, a user can use his or her finger 1004 on a touch sensitivescreen 1002 of a device 1000 displaying a current page of text 1102(e.g., page 63 of the eBook in question) to cause the current page 1102to flip in the direction of movement (from right to left as shown in theexample of FIG. 12) of the user's finger 1004 to concurrently expose aportion of the eBook's next page 1104 (e.g., page 64 of the eBook inquestion) while partially obscuring the text on the current page 1102with a portion of the current's page back 1106. A leading edge of thecurrent page 1102 moves dynamically and in real time concurrently withthe user's finger 1004. Consequently, the relative portions of currentpage text 1102, current page back 1106, and next page 1104 that aredisplayed vary in real time with movement of the user's finger 1004, andare displayed in the manner that simulates the turning of a paper pagein a physical paper & ink book.

The eBook reader application can use a layout engine, such as Webkit,which is the layout engine associated with the SAFARI web browser fromApple, Inc., to assist in rendering the various views of both static andmoving (e.g., flipping) pages. In general, to display a page of text ofan eBook, the eBook reader application can use the multiple columnsupport of Webkit to render one or more pages of text, for example, thetext 1010 shown in FIG. 11, such that each page corresponds to oneassociated column.

When a user initiates a page flip, the eBook reader application canre-use already rendered views (and thus avoid having to re-render them),by taking a snapshot (e.g., a bitmap) of a currently displayed page andusing it in combination with a newly rendered page to facilitate theanimated display of a page flip as it is occurring. For example, asshown in FIG. 12, as soon as the user's finger 1004 starts to initiate apage flip from the current page 1102 (page 63 of the eBook) to the nextpage 1104 (page 64 of the eBook), the eBook reader application capturesthe display of the current page and stores it as a bitmap in devicememory. So in the state of the example of FIG. 12 (i.e., during a pageflip sequence), the eBook reader application creates the current in realtime by combining an appropriate portion of the captured bitmap of thecurrent page 1102 along with Webkit-rendered (in real time) views bothof the next page 1104 and the current page back 1106. Optionally, thecurrent page back can be rendered to appear as if the current page 1102was made of a translucent substance, and thus display faint invertedtext, as if the page was being read from the back. Depending onimplementation and design choices, the eBook reader alternatively couldbe implemented such that the next page 1104 is treated and displayed asa captured bitmap and the current page 1102 continues to be activelyrendered in real time as the user's finger 1004 moves and changes thedisplay of the relative portions of current page text 1102, current pageback 1106, and next page text 1104 (any or all of which potentially caninclude one or more images 1108, 1110).

Similar implementation alternatives may be used for handling the displayof page flips while the device is in landscape mode and multiple eBookpages are being displayed concurrently. For example, when in landscapemode (such as shown in FIG. 2B), the eBook reader application couldcapture a snapshot of both pages 360 and 361 and then use the resultingbitmap in rendering page flip sequences along with real time renderingof the visible portions of the next page to be displayed. Alternatively,currently displayed pages 360 and 361 could be handled independently bytaking a bitmap snapshot of each to be used when the display requiresthat one or the other (or both) is to be obscured by the rending of thepage being flipped to (and/or the backs of the currently displayedpages)

Depending on implementation and design choices, the eBook readerapplication may need to re-paginate (e.g., both change the currentlydisplayed view as well as keep track of total number of pages in theeBook and the currently displayed page) in response to events such aschange of font size, rotation of the device from portrait to landscapeview and the like.

For example, if while viewing an open eBook, the user changes the fontsize, the eBook reader in response may automatically repaginate not tochange the current view (e.g., if the user increases the current fontsize, the current display will change to displayed larger characters butfewer words since the amount of screen real estate is fixed) and, by abackground process, re-calculate the new page total of the eBook (whichnecessarily changes in response to a change in font size) as well as tore-calculate the page number of the currently displayed page, but inabsolute terms and relative to the total page length.

Similarly, when the user rotates the eBook from portrait to landscapeview (typically meaning that the displayed will change from displaying asingle page of the eBook to two adjacent pages of the eBook),re-pagination occurs in a similar manner to re-calculate current andtotal page numbers as well as to change the display of the viewabletext. One potential implementation may be, in response to rotation fromportrait to landscape, that the eBook reader application displays theexact same text that appeared in the portrait view as one of the twopages (either left hand side or right hand side) that are displayed inthe landscape view (with the other displayed page being either the nextor previous page in the eBook). This implementation typically involveschanging the font size, e.g., such that the same number of words on thepage displayed in portrait view fits within the smaller display areaavailable in the landscape orientation.

An alternative implementation when switching from portrait to landscapeorientation is to keep the font size constant before and after theswitch but scale the view so that fewer words appear on the each pagedisplayed in landscape orientation than in portrait orientation. Underthis implementation alternative, the eBook reader application mayidentify a portion of text (e.g., the first sentence of the first fullparagraph) that is visible in the portrait orientation and cause thelandscape orientation display to be certain that that same text portionremains visible in the landscape orientation (e.g., at a predeterminedposition on either the right hand or left hand page).

In addition, as noted above, rotation of the device causes are-calculation of the currently displayed page numbers as well as thenew total page number. The newly re-calculated page numbers may be usedto update other previously save pointers and markers. For example, textsections that are highlighted and/or bookmarked typically are storedwith an associated page number. When rotation, font size change, orother re-paginating event occurs, the newly re-calculated page numbersare used to update those associated page numbers. Other uses of there-calculated page numbers and totals may be used for other page numberrelated aspects such as page numbers displayed in the scrubbing bar,table of contents, index, chapter start indicators and the like.

FIG. 13 shows an example of a search feature that may be implemented byan eBook reader application. As shown, a left portion of a screen 1002of a device 1000 displays a current page of text 1102 (e.g., page 63 ofthe eBook in question) while a right portion of the screen 1002 displaysa search results pane 1204, which displays the results of a search for aparticular word in the eBook under consideration. In this example, thesearch resulted in four search hits 1202 (at page 7, 34, 116 and 222)each of which displays the search term in its original context,potentially highlighted and as part of a complete or partial sentence inwhich it appears. The search hits 1202 potentially can be bookmarkedand/or serve as interactive links that can be selected by the user tojump to the eBook page on which the particular search hit occurs. Asshown, each search hit 1202 includes an associated page number which maybe updated in response to re-paginating events as described above.

FIG. 14 is a flow chart 1400 of a process by which information ispresented to a user. Typically, the operations are performed using thesystems described above. For example, the operations may be performedusing the electronic client device described in FIGS. 6A and 6B.Initially, an eBook application accesses a library of electronicpublications that includes a first publication (1410). For example, auser may load a library of electronic books. The eBook applicationgenerates a representation of the first publication in an electronicbookshelf (1420). The representation may include a display of a cover ofa magazine or a book. The eBook application determines a state for thefirst publication (1430). Determining the state for the firstpublication may include determining that a book was recently purchasedand/or read. The eBook application modifies the representation of thefirst publication to reflect the state of the first publication (1440).Thus, a book that has not been recently read may be rendered using abinding view instead of a cover view and/or to reflect a presence ofdust on a book.

FIG. 15 is a flow chart 1500 of a method of presenting information to auser. Typically, the operations described in flow chart 1500 may beperformed, for example, using the eBook application describedpreviously. An eBook application accesses a library of electronicpublications that includes a first publication (1510). Accessing thelibrary may include accessing electronic books that have been locallystored and/or networked content for which the user has rights. The eBookapplication generates a representation of the first publication in anelectronic bookshelf (1520). The representation may include presenting acover and/or binding view of a publication in an electronic shelf. TheeBook application determines a state for the first publication relativeto other publications in the electronic bookshelf (1530). Determiningthe state may include determining a date of purchase, a release date, ora date of access. The eBook application determines an organization ofthe electronic bookshelf based on the state of the first publicationrelative to a state of other publications within the library (1540). Theorganization may include criteria under which content is sorted and/orpresented to a user in a bookshelf. Thus, periodicals may be sorted bydate in a first category, while fiction may be sorted by popularity in asecond category, and nonfiction is sorted by recency of access in athird category.

The eBook application presents the first publication in the electronicbookshelf to reflect the organization of the electronic bookshelf(1550). Thus, a first shelf may be used to present content from a firstcategory (e.g., periodicals) while a second shelf is used to presentfiction based on popularity, and a third shelf is used to presentcontent according to recency of access. The shelf may be organized sothat a first number of publications are displayed using a cover viewwhile the remaining publications are presented using a binding view.

FIG. 16 is a flow chart 1600 of a process by which information ispresented to a user. Like flow charts 1500 and 1600, the operations maybe performed using the systems described above. Initially, an eBookapplication accesses a library of electronic publications that includesa first publication (1610) and determines a state for the firstpublication (1620). For example, the eBook application may determinethat a first publication represents promotional content while a secondpublication is newly-purchased. The eBook application generates arepresentation of the first publication in an electronic bookshelf thatreflects the state of the first publication (1630).

The first publication may be bound or wrapped in a ribbon that indicatesthat the first publication is new or promotional content.

FIG. 17 is a flow chart 1700 of a process by which information ispresented to a user. Initially, an eBook application accesses a libraryof electronic publications (1710). A representation of the firstpublication is generated in an electronic bookshelf in a bookshelf viewthat indicates electronic publications that are owned by a user (1720).The eBook application enables the user to switch between a bookstoreview and the bookshelf view (1730). The bookstore view may include arepresentation of a bookshelf that enables a user to browse electronicbooks on the bookstore shelf and purchase those electronic books if theuser is interested. The electronic book application receives aninstruction from the user to switch from the bookshelf view to thebookstore view (1740). For example, the user may press a software-basedbutton within the eBook application that inspires a transition.

In response to receiving the instruction from the user to switch fromthe bookshelf view to the bookstore view, the eBook applicationgenerates a display of an animated transition of a revolving bookshelfthat originally presents the bookshelf view and concludes the animatedtransition by displaying the bookstore view (1750). A bookshelf may turnor rotate or slide or float into place in order to render a bookstoreview. If the user elects to purchase an electronic book, the electronicbook may float forward as the representation of the bookshelf is rotatedfrom the bookstore view into the bookshelf view and the newly-purchasedbook is placed on a shelf.

FIG. 18 is a flow chart 1800 of a process by which information ispresented to a user so that a user may preserve their settings incontent that was originally promotional content. Initially, an eBookapplication enables a user to download an electronic publication in apromotional configuration (1810). A publisher may permit a user tobrowse the first 30 pages of an electronic book or access the electronicbook for a specified duration. The eBook application then enables theuser to navigate through the electronic publication with a relativeindicator identifying a portion of the electronic publication beingaccessed by the user (1820). The relative indicate may indicate whichportions of the electronic book have been read and where the user spenttime in the electronic book. The eBook application enables the user topurchase a full version of the electronic publication (1830). A user mayselect a purchase tab or button that appears on a last page of thepromotional content. As a result of a purchase, the eBook applicationdownloads the full version of the electronic publication (1840). TheeBook application then preserves the relative indicator so thatsubsequent user access to the electronic publication enables the user toaccess the portion of the electronic publication associated with therelative indicator (1850). In that manner, a user is able to perceivetheir bookmarks and an indication of which content has already beenread.

FIG. 19 is a flow chart 1900 of a method of presenting information to auser that enables a user to share content among multiple devices. TheeBook application enables a user to purchase an electronic publicationusing an electronic bookstore (1910) and the user is enabled to downloadthe electronic publication to a first device (1920). A user purchase ofthe electronic publication is recorded (1930). A registration server maybe used to record which users have access to which content. The eBookapplication receives an indication that the user has a second device(1940). For example, a user may own both an eBook device and also awireless phone. The eBook application may generate an icon of a wirelessphone in a portion of the display so that the user may interact with theicon to exchange content between different devices. The eBookapplication then enables the user to transmit the electronic publicationto the second device (1950). The registration server may verify rightsto content and transmit the content to the second device (e.g., loadingthe electronic publication to a library on the wireless phone).

FIG. 20 is a flow chart 2000 of a process by which information ispresented to a user so that a user may perceive relative progress innavigating through a book by viewing relative heights of the paper onthe left and right side of a binding. Initially, an eBook applicationpresents, within an electronic book reader application on an electronicdevice, a representation of an electronic book with an indication ofleft side pages and an indication of right side pages (2010). A userstarting out reading an electronic book may have a large volume of pageson the right hand side and a small volume of pages on a right hand side.As the user turns pages, the relative heights may be altered to reflecta user's passage through an electronic book. The eBook applicationenables the user to navigate through the electronic publication with arelative indicator identifying a portion of the electronic publicationbeing accessed by the user (2020). The relative indicator may indicatethat a user is on a specified page relative to an overall page count.The eBook application modifies, using the relative indicator, theindication of the left side pages and the indication of right side pagesto reflect a relative height of left side pages and right side pages(2030).

In one configuration, the relative height is mathematically determinedso that a height is precisely calculated on a page by page basis. Inanother configuration, a series of discrete values is used so that aseries of different display height settings is used where each displaysetting represents a range of pages.

FIG. 21 is a flow chart 2100 of a process by which information ispresented to a user so that an animated transition is presented to auser that reflects a manner in which a user turned a page. Initially,within an electronic book reader application on an electronic device, arepresentation of an electronic book is presented that includes anelectronic representation of a paper page (2110). The electronic bookmay be presented in a portrait setting, a landscape setting, or in asetting that features two pages with a virtual binding in between.

The eBook application enables a user to interact with the page through atouch screen control to navigate through the electronic book (2120). Forexample, a user may swipe a finger across the touch screen to turn thepage. The eBook application records, on the electronic device, physicalcharacteristics of the user interaction with the touch screen control tonavigate through the electronic book (2130). Thus, if a swipe isperformed rapidly or with a certain degree of acceleration, the physicalcharacteristics of the swipe are recorded. The location at which theelectronic representation was touched also may be recorded in additionto length of the swipe. The eBook application identifies, based on thephysical characteristics of the user interaction, a modeled impact onthe electronic representation of a paper page (2140). The modeled impactreflects a translation that describes the impact on the user performingthe same gesture or action on an actual piece of paper. The eBookapplication generates an animated transition reflecting a page turningof the electronic representation of a paper page that reflects themodeled impact (2150). Thus, if a page is rapidly turned, the page isshown as being rapidly turned over. If a swipe begins at a specifiedlocation, the page may be rendered as if the page were beginning to bebent at the specified location.

FIG. 22 is a flow chart 2200 of a process that enables a user to accessan electronic bookstore. Initially, the eBook application presents,within an electronic book reader application on an electronic device, arepresentation of an electronic book that includes an electronicrepresentation of a paper page (2210). The eBook application presents,within the electronic book reader application, a control to access anelectronic bookstore (2220). The control may include a software-basedbutton appearing in the screen to inspire a transition to the electronicbookstore. The eBook application enables the user to interact with thecontrol to access the electronic bookstore (2230). Through userinteraction with the control, a user instruction to access theelectronic bookstore is received (2240). For example, a user may pressthe software-based button. The eBook application determines that awireless communications interface on the electronic device is not active(2250) and activates the wireless communications interface (2260). Usingthe wireless communications interface, materials from the electronicbookstore are accessed (2270). Thus, a user is shielded from a burden ofhaving to selectively activate a communications interface in order toaccess the electronic bookstore.

FIG. 23 is a flow chart 2300 of a process by which a menu of commands ispresented to a user. Initially, an eBook application presents, within anelectronic book reader application on an electronic device, arepresentation of an electronic book that includes an electronicrepresentation of a paper page (2310). The eBook application enables auser to interact with the page through a touch screen control tonavigate through the electronic book (2320) and detects that a user hastouched a portion of the electronic representation of the paper page(2330). For example, a user may maintain a touch for a threshold periodof time on a display to inspire invocation of a menu. The eBookapplication detects that the user intended to hold the touched portion(2340). The eBook application then presents, in response to detectingthat the user intended to hold the touched portion, a menu of commandsrelated to the touched portion of the electronic representation of apaper page (2350). The menu of commands may enable a user to highlight aportion of text or inspire invocation of a map related to a currentbook. In one configuration, the menu of commands reflects the underlyingcontent that is selected with the selection command (e.g., the portionof a text that was selected). Thus, if the underlying content related tobaseball, then the menu commands may include links to baseball-relatedresources or applications (e.g., a baseball game).

FIG. 24 is a flow chart 2400 of a process by which a user is enabled tomanipulate an accelerometer within an electronic device to perform acommand on an electronic book. Initially, a user is presented, within anelectronic book reader application on an electronic device, arepresentation of an electronic book that includes an electronicrepresentation of a paper page (2410). The user is enabled to interactwith an accelerometer for the electronic device by controlling anorientation of the electronic device (2420). For example, a user maymove, manipulate, shake, or accelerate the electronic device. Using theaccelerometer for the electronic device, user manipulation of theelectronic device is capture (2430). The accelerometer may determinethat a book was rotated in a specific direction.

Based on the user manipulation of the electronic device, a command forthe electronic book is identified (2440). An electronic device may beshaken to close a cover of an electronic book, tilted more than athreshold degree to change pages, and tilted less than a thresholddegree to provide a preview of a next page. The command is thenperformed on the electronic book (2450).

FIG. 25 is a flow chart 2500 of a process that enables a user tointerface with an electronic publication. Initially, within anelectronic book reader application on an electronic device, arepresentation of an electronic book that includes an electronicrepresentation of a paper page is presented (2510). The first user isenabled to interact with a touch screen controller for the electronicdevice (2520). For example, an eBook application may render an icon forother users in the social network that are proximate to the user. Theelectronic device captures user manipulation of the touch screencontroller (2530). An example of user manipulation includes a gesturethat throws a book icon towards a user icon or even in the actualdirection of the user. The eBook application may transmit an indicationof the gesture to a server that records an indication of other usersproximate to the user and their location. Based on the user manipulationof the touch screen controller, a command for interfacing with a seconduser is performed through the electronic book (2540). Thus, a first usermay flick a book off an electronic bookshelf towards another user totransmit the book to the other user. The eBook application then performsthe command for the electronic book (2550).

FIG. 26 is a flow chart 2600 of a process that enables a user tointerface with an electronic publication. The eBook applicationpresents, within an electronic book reader application on an electronicdevice, a representation of an electronic book that includes anelectronic representation of a paper page (2610). The electronicrepresentation of a paper page is modeled to resemble actual paper sothat the representation would behave and respond to stimuli in the samemanner as actual paper would respond to the stimuli. A first user isenabled to interact with a touch screen controller for the electronicdevice (2620). User manipulation of the touch screen controller iscaptured (2630). Thus, a first gesture on a touch screen may be recordedto indicate starting location(s) for a gesture, an ending location, avelocity of a gesture, and acceleration for a gesture. Based on the usermanipulation of the touch screen controller, a command to interface withan electronic bookshelf is identified (2640). For example, a threefinger swipe may be used to advance to a next selection on an electronicbookshelf The command is performed for the electronic book (2650).

FIG. 27 is a flow chart 2700 of a process of presenting information to auser. The operations shown in flow chart 2700 may be used to preserve aviewing experience as a user transitions from a first orientation (e.g.,landscape) to a second orientation (portrait). Within an electronic bookreader application on an electronic device, a representation of anelectronic book is presented that includes an electronic representationof a paper page in a first orientation (2710). A first portion of theelectronic book is presented in the first orientation (2720). Forexample, a particular portion may be displayed in landscape mode. Theuser is enabled to manipulate an orientation of the electronic devicefrom a first orientation to a second orientation (2730). It isdetermined whether to preserve a font size (2740). For example, a usermay prefer to preserve a font size in order to enjoy a better viewingexperience. Based on the first portion and in response to determining topreserve the font size, a second portion that will be displayed in thesecond orientation is identified (2750). Switching from a two pagelandscape view to a single page portrait view may require thatadditional content be presented within the display. The second portionis displayed in the second orientation (2760).

FIG. 28 is a flow chart 2800 of a process by which information ispresented to a user. The operations shown in flow chart 2800 may be usedto modify a viewing experience so that content is removed as a font sizechanges in a transition from a first orientation (e.g., portrait) to asecond orientation (landscape). Initially, within an electronic bookreader application on an electronic device, a representation of anelectronic book is presented that includes an electronic representationof a paper page in a first orientation (2810). A first portion of theelectronic book is presented in the first orientation (2820). A user isenabled to manipulate an orientation of the electronic device from afirst orientation to a second orientation (2830), for example, to switchfrom a portrait orientation to a landscape orientation. It is determinedwhether to preserve a font size (2840). A user may have a setting thatindicates that the user is able to accommodate font size changes withina certain range while also specifying that font size changes beyond athreshold should be preserved. Based on the first portion and inresponse to determining to not preserve the font size, a second portionis identified that will be displayed in the second orientation (2850).This may include additional content that should be rendered as a resultof an increased area being available for display. The second portion isdisplayed in the second orientation (2860). Thus, a new display inlandscape mode may feature newly added content.

Optionally, an eBook reader application could have features, aspectsand/or functionality that, potentially based on output from the device'smotion, attitude, touch and/or other sensors, could

The eBook reader application may be configured to enable the user topeek at the next page by tilting the device (e.g., to one side) by athreshold amount that causes at least a portion of the next page to bedisplayed. In addition, the eBook reader application may be configuredto cause a currently open eBook to close, go to the first page, go tothe last or other predetermined page (e.g., index or table of contents),and/or go back to the adjacent previous page.

In one configuration, the eBook reader application may be configured tocause a currently open eBook to close to its cover and/or return to thebook shelf in response to detecting a multi-touch pinch performed by theuser on the device's touch sensitive surface. In another configuration,the eBook reader application may be configured to cause a currently openeBook to close to its cover and/or return to the book shelf in responseto detecting a multi-touch pinch performed by the user on the device'stouch sensitive surface.

In yet another configuration, the eBook reader application may beconfigured to cause a currently open eBook to close to its cover and/orreturn to the book shelf in response to detecting a multi-touch pinchperformed by the user on the device's touch sensitive surface. In stillyet another configuration, the eBook reader application may beconfigured to cause a currently open eBook to close to its cover and/orreturn to the book shelf in response to detecting a multi-touch pinchperformed by the user on the device's touch sensitive surface.

In one configuration, the eBook reader application may be configured tocause a currently open eBook to switch to a next eBook in a queue (e.g.,selected automatically based on factors such as newness, frequency ofuse, related subject matter, related author, and/or predetermined byuser) in response to detecting a predetermined user gesture (e.g., aswipe on the touch sensitive surface or shake of the device),potentially without requiring the user to go through the process ofhaving to go back to the library or bookstore and manually select a neweBook to open. In another configuration, the eBook reader applicationmay be configured to cause information about the current state of thedevice, the eBook reader application, and/or the user to beautomatically broadcast or otherwise transmitted to one or more otherhumans (alternatively also referred to as “throwing” information) inresponse to detecting that the user has performed a predeterminedgesture. The “thrown” information could include one or more of theuser's location, user's identity, title of the eBook currently open onthe user's device, current page number of the eBook currently open onthe user's device, a bookmark, a segment of text, an image or movie, oressentially any other item of information about current state known tothe device, user and/or eBook reader application.

In another configuration, the eBook reader application may be configuredto cause a currently open eBook to close to its cover in response todetecting that the user has rotated the device away from the away (e.g.,a 180 degree pivot about a vertical axis), and/or re-open upon detectingthat the user has once again rotated the device back to face the user(and/or in response to another criterion, such as time lapse). Anadvantage of this behavior may be to allow the user to show anotherperson what the user is currently reading by momentarily displaying thecover of the eBook rather than the current page (which likely would havesmaller font text and/or less readily discernible information about theidentity of the eBook).

In yet another configuration, the eBook reader application may beconfigured to enable a user to share eBooks (portions or entirecontents) with one or more other users in response to detecting that theuser has performed a predetermined gesture or, in response to thepassage of time, cause the display of unopened or seldom opened eBooksto change appearance, e.g., by displaying only the spine of such booksrather than complete covers, and/or cause the eBooks to appear dusty,yellowed, translucent or other visual indications of disuse. Similarly,an eBook reader application could change the display of availablenewspapers or magazines so that they appear in a pile after a few issueshave accumulated so that they do not unduly clutter the bookshelfdisplay. Archiving of such eBooks (either locally on the device viacompression or the like or remotely on a server or other data store)could accompany such a change in display based on age or disuse.

In one configuration, the eBook reader application may be configured toenable eBooks to have links to web pages, inline videos, images, musicor other audio clips or the like, which reside remotely from the devicebut which can be accessed through wireless (and/or wired)communications. In another configuration, the eBook reader applicationmay be configured to enable an eBook's content to be updated,potentially automatically, for example, if the author or the publisherchanges or supplements the ePub, e.g., through the use of embeddeddynamic content in an eBook that receives the changed or supplementalcontent via the internet or other network. In still yet anotherconfiguration, the eBook reader application may be configured to enablea user to electronically chat (e.g., via email or a chat plugin utility)with others about a particular eBook, e.g., similar to a forum, salon orbook club or display opportunities (e.g., links, banners, advertisementsor the like) for a user to purchase or otherwise obtain digital content(e.g., movie, soundtrack, audiobook or the like) that is complementaryto a particular eBook.

In yet another configuration, the eBook reader application may beconfigured to enable a user to listen along and/or read along to aneBook by concurrently presenting, potentially in synchronization, acorresponding audio (or audiovisual) version of that eBook. In oneconfiguration, the eBook reader application may be configured to providea user with intelligent suggestions (e.g., by using a mechanism similarto the “GENIUS” feature of iTunes from Apple, Inc.) for other books orother content that are complementary to a particular eBook.

In another configuration, the eBook reader application may be configuredto provide animated page flipping functionality that responds visuallyand selectively to swiping a user's finger horizontally across the page,can display a page corner curl (e.g., toward the center of the page) forexample in response to a corresponding movement of the user's finger,cause page flipping to occur on other gestures such as finger taps(single or multiple), movement or rotation of the device or the like;implement a “point of no return” threshold in which a flipping page,upon removal of the user's finger, either continues to complete the flipto the next page—e.g., if the user's finger movement on the touch screenhas reached a predetermined location on the screen (e.g., the half waypoint)—or falls back to the previous page display if the user's fingeris removed before reaching that point; can simulate ripping pages out ofan eBook based on a predetermined gesture; and/or respond to a user'sthumb gesture in the direction substantially equal to 45 degrees fromthe eBook text direction by causing the page to flip. In any or all ofthese implementations, the eBooks pages can be displayed to the extentdesired to comport with the applicable laws of physics associated withphysical paper & ink books (e.g., gravity, friction and the like).

In one configuration, the representation of an electronic bookshelf isconfigured to distinguish between magazines and books, and also based onthe state of books within the electronic bookshelf. For example, theelectronic bookshelf may be configured to exchange books betweendifferent users. A book that is lent to another user may be “ghosted” toindicate that the book is temporarily unavailable because it is beingused by another user while a book that is being borrow from another usermay appear with a frosted binding or halo above the book to indicatethat the book is available on a temporary basis or has been madeavailable with limited rights. A user then may interact with the ghostedbook to retrieve the book, or with the borrowed book to return the bookand/or to purchase the book itself from an electronic bookstore.

The representation of the electronic bookshelf may be customized with auser. For example, an electronic bookshelf may be automaticallyorganized according to a default scheme that presents the libraryorganized according to a particular taxonomy. The user then mayrearrange a bookshelf according to personal preferences. Thus, a usermay elect to place certain publications in certain locations (e.g.,placing a favorite periodical in a specified location on a bookshelf).The user customization may be stored so that a user may invoke one ofseveral locations may be used. A user may use an academic configurationused when engaged in academic pursuits, while using an entertainmentconfiguration used when using the bookshelf to navigate among leisurelycontent.

The user may configure an electronic bookshelf to configure individualshelves within the electronic bookshelf. For example, a first bookshelfmay include periodicals sorted by frequency of access, while a secondshelf includes nonfiction materials sorted by publication date, and athird shelf includes a fiction sorted by popularity as specified by abest seller list.

A bookshelf may be modified to reflect a theme or motif. For example, atype of used may be used to indicate the theme so that an oak bookshelfis used to present nonfiction content while a walnut bookshelf is usedto present classic literature. A newsstand-type shelf may be used topresent periodical literature. The bookshelf may be an add in package sothat certain content is automatically placed in certain locations of thebookshelf. Thus, the periodical receiving the greatest circulation orpage views over the preceding time period may be placed in the top shelfand books within the user's library directed to current trends may beplaced alongside the periodical in the top shelf. As trends and Internetviewership changes over time, the selection of particular publicationsin the specified locations of the shelf also may change with thechanging trends. The books may be labeled to indicate which books arenewly-purchased and which books represent samples and/or promotionalcontent. The bookshelf also may be modified to surface informationrelevant to a user's context. Thus, if a bookshelf application receivesinformation that a user is in a particular location, the particularlocation may be used to showcase those publications relevant to a user'scurrent location. If the user receives information that a user istravelling abroad, a travel publication for the current country may beplaced on the user's top shelf. Similarly, if the user is travelling ina city (e.g., Savannah, Ga.), the electronic bookshelf may surfacefictional literature associated with that city (e.g., a novel by JohnBerendt). In yet another example, if the electronic bookshelf receivesinformation that the user is dining or about to dine in a particularestablishment, for example, through a mapping application, the bookshelfmay place a restaurant guide on the top shelf with a bookmark for theparticular restaurant appearing in the book. In addition to placing apublication on a particular shelf, a publication also may be coded witha particular label or ribbon. The electronic bookshelf may indicate thatthere is a new periodical available and automatically place the updatedperiodical a location set aside for more current content.

The bookshelf may include notebooks or lab notebooks with user notestaken during class. The bookshelf also may display electronic books andfeature a content view to display additional forms of content (e.g.,audio).

A bookmark may be explicit or implicit. An example of an implicitbookmark may include a reference indicating a portion in a publicationas determined by an electronic book reader application to likelyrepresent a portion being viewed by a user. An explicit bookmark mayinclude a location specified by a user as representing an area that theuser wishes to return to upon selecting a bookmark. The bookmarks may bepresented in a list so that the user may perceive their reading historyand interact with the list to navigate to the recently read content. Thelist also may include a “time spent” viewing so that a user may perceivehow much time was spent in each portion. If the publication includesaudio that accompanies text, the bookmarks also may include a bookmarkthat links to the specified audio portion. A publication may include aprogress bar separately and/or in association with bookmarks. Theprogress bark may indicate progress within a chapter or within apublication.

In one configuration, a user may zoom into an electronic book and stilluse the same interactive controls to navigate through an electronicbook. For example, a user may be zoomed in and enjoying an illustrationin a picture book (e.g., an illustrated children's book). In the courseof reviewing the picture book, the user may use a gesture that advancesto a next page. Using the gesture may inspire an animation which firstzooms out and then causes the page to advance. And, even though the useris zoomed into a page, the physical characteristics of the user'sgesture in turning the page may be used to foster an animated transitionresponsive to the physical characteristics. In one setting, the physicalcharacteristics are modeled so that the actual screen size representsthe size of the paper that inspires the transition (e.g., a swipe acrosstwo inches the screen is represented as a swipe across two inches ofpaper even though the screen is zoomed). In another setting the physicalcharacteristics are modeled so that the actual screen size is scaled tothe size of the paper that inspires the transition (e.g., a swipe acrosstwo inches the screen is represented as a swipe across one inch of paperas the screen is zoomed 100%.). The animated transition may inspire achange in the orientation of the electronic book application. A pageturn may cause a change in a display from a zoomed in display of asingle page to a landscape display of two pages.

The menus that are presented may be based upon the content that a useris accessing and/or reflect a configuration for the publication. Forexample, if a user is reading a piece of science fiction, a menu and/orinstruction may be configured to present a map that reflects a locationof interest where the portion of the story being read is set. The mapmay be configured to “fly” onto or off of the screen in response toinvocation of the menu option and/or type of gesture that is invoked. Anelectronic book reader application may be configured to present asupplemental control to enable a user to perceive the portion of thedisplay that is being read. For example, a user may run their fingerbelow the portion of the screen that is being read. As the usercontinues to navigate through an electronic publication, a portion ofthe screen that is determined to no longer be of interest may be dimmed.A user wishing to resume reading a book may perceive which portion ofthe screen has been dimmed and begin using the finger tracking to dragtheir finger below the portion of text where they wish to resume. Theelectronic book reader application may be configured to maintain a rateof progress through a book so that even if a user has moved theirtracking finger to slightly above or below a specified range, so long asthe user maintains a specified rate of movement with an index across thesurface, the dimmed portion will continue to progress. In addition to adimming function, the electronic book reader application also mayinclude a highlight function that spotlights an area of interest, forexample by using a highlighter or animated halo effect to identify aportion of text of interest.

What is claimed is:
 1. A method of presenting information to a user, themethod comprising: presenting, within an electronic book readerapplication on an electronic device, a representation of an electronicbook that includes an electronic representation of a paper page;enabling a user to interact with the page through a touch screen controlto navigate through the electronic book; detecting that a user hastouched a portion of the electronic representation of the paper page;detecting that the user intended to hold the touched portion; andpresenting, in response to detecting that the user intended to hold thetouched portion, a menu of commands related to the touched portion ofthe electronic representation of a paper page.
 2. The method of claim 1wherein detecting that the user intended to hold the touched portionincludes detecting that the user has touched the portion of theelectronic representation of the page for more than a threshold periodof time.
 3. The method of claim 1 wherein detecting that the userintended to hold the touched portion includes detecting that an area ofthe touched portion has expanded after a threshold period of time haselapsed indicated that a user has applied increased pressure.
 4. Themethod of claim 1 wherein detecting that the user intended to hold thetouched portion includes detecting that the electronic device has beenlowered.
 5. The method of claim 1 further comprising: identifyingcontent related to the touched portion; using the identified content toidentify commands for incorporation within the menu of commands; andpresenting the identified commands within the menu of commands.
 6. Themethod of claim 1 further comprising: identifying content related to thetouched portion, and using the identified content to identifyapplications for incorporation within the menu of commands; andpresenting the identified applications within the menu of commands. 7.The method of claim 6 wherein using the identified content to identifyapplications includes identifying additional electronic publicationsavailable in an electronic bookstore related to the content appearing inthe touched portion.
 8. The method of claim 6 wherein using theidentified content to identify applications includes identifying adictionary or encyclopedia entry related to the content appearing in thetouched portion.
 9. The method of claim 6 wherein using the identifiedcontent to identify applications includes identifying applicationsrelated to the content appearing in the touched portion.
 10. A system,comprising a processor and instructions that when performed on theprocessor cause the processor to perform operations that include:presenting, within an electronic book reader application on anelectronic device, a representation of an electronic book that includesan electronic representation of a paper page; enabling a user tointeract with the page through a touch screen control to navigatethrough the electronic book; detecting that a user has touched a portionof the electronic representation of the paper page; detecting that theuser intended to hold the touched portion; and presenting, in responseto detecting that the user intended to hold the touched portion, a menuof commands related to the touched portion of the electronicrepresentation of a paper page.
 11. A non-transitory computer readablemedium comprising instructions that when executed on a processor causethe processor to perform operations that include: presenting, within anelectronic book reader application on an electronic device, arepresentation of an electronic book that includes an electronicrepresentation of a paper page; enabling a user to interact with thepage through a touch screen control to navigate through the electronicbook; detecting that a user has touched a portion of the electronicrepresentation of the paper page; detecting that the user intended tohold the touched portion; and presenting, in response to detecting thatthe user intended to hold the touched portion, a menu of commandsrelated to the touched portion of the electronic representation of apaper page.